手軽に関連語を取得するモジュール - ダウンロードたけし(寅年)の日記 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::Rule::String の nonsymbol_ascii methodでハマったのでメモ。 FormValidator::LazyWay::Rule::String - search.cpan.org ページの設定サンプルに username: rule: - String#nonsimbol_ascii: args: allow: - '_' - '-' という記述があるのだけれど、これが間 […]
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をイ […]
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 […]
参考:Mac(Leopard) に DBD::SQLite をいれる時には注意 | Supernova 参考ブログの手順だと Please use 'o conf commit' to make the config permanent! と怒られるのでちょと修正。 sudo cpan cpan[1]> o conf commit makepl_arg USE_LOCAL_SQLITE=true commit: wrote '/Users/clicktx/.cpan/CPAN/MyConfig.pm' cpan[2]> install DBD::SQLite
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からダウンロードしてインストールする。 […]
PerlでPayPalのExpressCheckoutを実装するのにBusiness::PayPal::APIを使っているのだけれど、日本語(2byte文字)がうまく送信できない。 UTF-8で送ろうが、フラグ付きにしようが、だ。 散々悩んだ挙句、原因はSOAP::Liteが勝手にbase64エンコードするからだと判明。 Business::PayPal::APIは内部でSOAP::Liteを使用していて、Asciiだとそのままなのだけれど、それ以外はbase64にエンコードする仕様の様子。 前々から、例えば、OrderDescription に日本語を使うと上手くいかないと思っていたのだけれ […]
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リフ […]
perlモジュールのバージョンを一発で調べられるコマンド $ pmvers DBIx::Cutom 0.168 cpanmがインストールしてあれば $ cpanm pmvers でインストールできます。 もうこんな事しなくていいんです。 perl -MDBI -e 'print $DBIx::Custom::VERSION'
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 […]