perl

4/7ページ

[perl] Lingua::JA::Expand::DataSource::GoogleWebSearchっていうの書いた

手軽に関連語を取得するモジュール - ダウンロードたけし(寅年)の日記 Lingua::JA::Expand は愛用させて頂いているperl moduleですが、近年のAPI不正利用対策の影響でYahoo!APIの利用規約が変更になります。 検索Web APIにて新プランをリリースしました - Yahoo! JAPAN Tech Blog xデーは2013年3月31日。Yahoo!プレミアム会員だと500回/day。これではちょっとだけ少ないし...。 という事で、Lingua::JA::Expand::DataSource::xxx を書けば使えそうなので書いてみた。 clicktx/Lin […]

フォームバリデーションモジュール FormValidator::LazyWayでハマった点

FormValidator::LazyWay フォームのバリデーションルールをアプリケーションで統一出来るモジュールで、便利そうなので試してみたところ FormValidator::LazyWay::Rule::String の nonsymbol_ascii methodでハマったのでメモ。 FormValidator::LazyWay::Rule::String - search.cpan.org ページの設定サンプルに username: rule: - String#nonsimbol_ascii: args: allow: - '_' - '-' という記述があるのだけれど、これが間 […]

CentOS5.7にperlbrewをインストール

perlbrewのインストール Perlbrew 本家の手順でインストール&初期設定 $ curl -kL http://install.perlbrew.pl | bash $ ~/perl5/perlbrew/bin/perlbrew init $ echo 'source ~/perl5/perlbrew/etc/bashrc' >> ~/.bashrc $ source ~/.bashrc エラーの対処 CentOS5.7で試していたところエラーが出た。 Use of uninitialized value in split at... は一時的なもの(perlをイ […]

perlでSHA1ハッシュ チェックサムの作成でWide character in subroutine…

Digest::SHA1でsha1ハッシュ値を作成する時に日本語(内部文字列 utf8フラグ有り)を含むとWide character in subroutine...とエラーになってしまう。 use utf8; use Digest::SHA1 qw/sha1_hex/; print sha1_hex("あいう"), "\n"; # エラー Encodeすれば大丈夫だけど、Mojolicious使いとしてはMojo::ByteStreamを使おうと思う。 use utf8; use Mojo::ByteStream 'b'; print b("あいう")->sha1_sum->t […]

MAMP(Apache+MySQL)を使ってローカルでらくらくperl開発

MAMP Apache+MySQLサーバをmacで動作させる事ができる。macにはもともとApacheもperlもインストールされているけど、バージョンが古いし、管理も面倒なのでMANPを使うメリットはおおいにあると思う。もともとはPHP+MySQLのローカル環境を構築するためのもの...かな? 参考:Mac OS Xのローカル環境(MAMP+MacPorts)で Movable Typeを動かしてみよう - 準備編  [ 09.06.24 update ] 【 gabs.log|おしゃべり好きなWEB制作者のたわごと 】 MAMPをインストール MAMPからダウンロードしてインストールする。 […]

Business::PayPal::API::ExpressCheckoutで住所とか氏名とかの日本語が正しく送れない理由

PerlでPayPalのExpressCheckoutを実装するのにBusiness::PayPal::APIを使っているのだけれど、日本語(2byte文字)がうまく送信できない。 UTF-8で送ろうが、フラグ付きにしようが、だ。 散々悩んだ挙句、原因はSOAP::Liteが勝手にbase64エンコードするからだと判明。 Business::PayPal::APIは内部でSOAP::Liteを使用していて、Asciiだとそのままなのだけれど、それ以外はbase64にエンコードする仕様の様子。 前々から、例えば、OrderDescription に日本語を使うと上手くいかないと思っていたのだけれ […]

DBIx::Customで where を設定する時の注意点

DBIx::Custom - search.cpan.org DBIx-Custom-0.1705 DBIx::Custom select メソッドの whereの項目を見ると様々な指定方法が出来ることが分かる。 注意する点はStringを渡す時。 where => "url = 'http://hoge.com/huga.cgi?key=value' ", 上のように条件に ? が含まれる場合、SQLの作成に失敗する。(DBIx::Custom::QueryBuilder::build_queryでかな?) ? がメタ文字として扱われるため?(\?とエスケープしてもダメ) Hashリフ […]

DBIx::Customでデータベースの関数(MySQLのADDDATE()とかSUBDATE()とか)を使う

DBIx::Customが生SQL感覚でも使えてお気に入りなのだけれど、ちょっこしハマったのでメモ。 DBIx::Custom - search.cpan.org MySQL(に限らないと思う)でwhereに関数を利用したい時は多々あると思います。 例えば、更新時刻を見て7日以上古ければ選択しないという条件をwhereに指定したい時、 CREATE TABLE `table` ( `name` VARCHAR( 5 ) , `update_time` TIMESTAMP ) SELECT * FROM `table` WHERE update_time > SUBDATE(NOW(), int […]

1 4 7