Perl で記述する CGI にセッションの仕組みを組み込みたくて色々探してみた。で、面白そうなモジュールを発見。Walrus::Session::Lite というモジュールだ。
セッションデータ(ファイルやリレーショナルデータベースに格納)を tie を使ってハッシュ変数に割り当ててしまうところが perl らしくて面白い。同じような処理をする為の CGI::Session モジュールと比較してみるとよくわかる。
例えばデータを取得するとき、CGI::Session モジュールなら以下のように記述する。
my $name = $session->param('name');
Walrus::Session::Lite モジュールの場合はこんな感じだ
my $name = $session{'name'};
データを格納するときはもっとわかりやすい。CGI::Session だとメソッド呼び出しだが、
$session->param('name', $name);
Walrus::Session::Lite モジュールならこの通り。
$session{'name'} = $name;
適当なディレクトリに展開して、すぐに使えるところ( perl Makefile.PL && make install をしなくても良い)も気に入った。Shell アカウントの無いレンタルサーバだとモジュールのインストールは面倒だしね。
新しいコメントの投稿