perlモジュールのバージョンを調べる便利なコマンド pmvers
perlモジュールのバージョンを一発で調べられるコマンド $ pmvers DBIx::Cutom 0.168 cpanmがインストールしてあれば $ cpanm pmvers でインストールできます。 もうこんな事しなくていいんです。 perl -MDBI -e 'print $DBIx::Custom::VERSION'
perl、 MySQL、オープンソース系、ウェブ系ネタ。なぜか鯖管メモがほとんどを占めている…
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 […]
やっと出来たのでメモ。 起動スクリプト mojo.cgiを #!/usr/bin/env perl use strict; use warnings; use lib "../lib"; use App; app->start('cgi'); exit; こんな感じで呼び出すと通常のCGIとしてならなんの問題もなく実行出来るのだけれど、SpeedyCGIで実行しようとすると初回実行時に不具合が出る(テンプレートが読み込まれない?)上記実行方法でも2回目以降(キャッシュ後)は動作している感じ。 FastCGIやmod_perlでのエントリーは見かけるんだけど、いかんせんマイナーなSpeed […]
id:tokuhirom氏作の Email::MIME::MobileJP::Template を発見したので使ってみる。 PODにあるコードは動作しないので注意。renderメソッドのAPIが変わったのかな?ソースを見ると引数の最初に送り先のメールアドレスを指定しないとダメみたい。 それと、Email::MIME::MobileJP にあるソースも間違えているので注意。syntax=>'TTerse' は newする時に引数で指定する事。 use Email::MIME::MobileJP::Template; use Email::Sender::Simple; my $token= […]
perlスクリプトをSpeedyCGIスクリプトとして動作させる場合、グローバル変数の値は保持され続ける。なので、一度接続したデータベースハンドルを使い回すことでデータベースへの接続コストを削減できる。 テスト用スクリプト
perlのWAF(ウェブアプリケーションフレームワーク)である Mojolicious(Mojolicious::Lite)をアップロードだけで使えるのか試してみる。 簡単に使えるフレームワークとして、とりあえず Linux+Apacheで動けばおkという前提で。 なにせフレームワーク初心者の戯事なのでそのあたりは察してください。
メール送信に便利な Mail::Sendmail 大変便利なモジュールだけど、RFCに違反しているメールアドレスでは内部のエラーチェックに引っかかり送信出来ない。 例えばこんなメールアドレスには送信出来ない。 例)read_rfc822.@docomo.ne.jp 元ソースの正規表現部分 # regex for e-mail addresses where full=$1, user=$2, domain=$3 # see pod documentation about this regex my $word_rx = '[\x21\x23-\x27\x2A-\x2B\x2D\x2F\w\x3 […]
JavaScriptとかで書いてて便利な無名関数。 perlでも出来たら何か便利かなぁ。 my $sub = sub {print @_, "\n";}; &$sub('Hello,world!'); #実行結果 Hello,world! 関数型言語って何がすごいんですか - Gemmaの日記 にあるJavaScriptの例をperlで書いてみる。
ヒアドキュメントの中でPerlの式を書く print <<EOM; あいうえお かきくけこ EOM こんなのをヒアドキュメントという(らしい) この中にperlの式を埋め込むテクニック。 リンク先より引用 print <<EOM; TIME: @{[ time() ]} EOM 実行結果 TIME: 1229258525 面白い。
Apache2.2でSpeedyCGIのperlモジュールを使うのならyumなりで一発インストールできるけど、mod_SpeedyCGIをインストールしようとするとmakeでコケる。 どうやらパッチを当ててからmakeする必要があるようだ。 参考:Apache2.2にmod_SpeedyCGIを組み込む方法(パッチファイルのあて方) / レンタルサーバー BIG-server.com パッチファイルのダウンロード パッチファイル:CGI::SpeedyCGI with apr-1.0 ※パッチファイルはwgetで入手できないのでダウンロードしておいてFTP等でアップロードする必要がある。