Perlプログラムに関する各種メモ書き

mod_perlコーディングのお約束

■use lib は使えないので startup.pl にモジュールのディレクトリを絶対パスで記述しておくこと
■perl -w use strictでエラーが出ないスクリプトを書く事。
■正規表現の'o'はダメ
■必ずPackageで修飾すること。 mainパッケージは使えない
■exit()がきかないらしい。。。がテストしたところ exit は有効みたい。(mod_perl2)
■カレントディレクトリがApacheディレクトリになる
■openしたら、スクリプト終了前までに必ずcloseする
■__END__ or __DATA__トークンは使えない

■ 変数の初期化を綺麗に行う必要がある
my $scalar = '';
my @ary = ();
my %hash=();

http://www.accessup.org/pj/6_B4C9CDFDBFCDA4B5A4F3/4/#20050816


■mod_perl環境下で使う場合の注意
CGI::Sessionクラスはデストラクタでセッション情報のシリアライズを行っています。このため、mod_perl環境下で使用するとGCで回収されるまでいつまでたってもシリアライズされず、セッションが維持できないということになります。mod_perl環境下では明示的にflushメソッドを呼び、シリアライズするようにします。

$session->flush();

引用元:http://amateras.sourceforge.jp/cgi-bin/fswiki/wiki.cgi/free?page=Session

参考:http://www.hatena.ne.jp/1138239705#

No.73
11/22 01:52

edit

mod_perl