今は自サーバーではないため、モジュールのインストール等もできませんが、そういった環境でもセッションを使う事は出来ますか?
Java や PHP のような言語の規格としては存在しません。
標準モジュールしか使用できない環境では、自分で実装するしかありません。
CGI::Sessionモジュールをちらと眺めてみたのですが,これ,ファイルコピーで行けそうですね。依存しているモジュールによっては動かないかもしれませんが。
http://www.cpan.jp/mirror/perldoc.jp/docs/modules/CGI-Sessio...
「セッション」に入れたい内容を文字列化して画面遷移の都度hiddenパラメータとして受け渡せば大丈夫ですね。
必要があれば暗号化してください。(ログイン後の個人情報の持ち回りなど)
http://search.cpan.org/~mattbm/Crypt-Blowfish_PP-1.12/
(コンパイル不要なようです)
サーバ側にセッションを置くのは一見楽そうですが、実はけっこうオーバヘッドがかかっています。
せっかくPerlを使うなら、ぜひ。
http://digit.que.ne.jp/work/wiki.cgi?Perl%E3%83%A2%E3%82%B8%...
こちらに Walrus::Session::Lite というコピーのみで動くモジュールがあります。
また同ページ下部のコメントで#2さんが推察しているようにCGI::Session - 3.95 がインストールせずに動作する事が報告されています。
素の Perl にはセッションを取り扱う標準モジュールは付属していません。
セッション管理を行うには CGI::Session (日本語解説) か Apache::Session (日本語解説) あたりを追加する必要があります。
では、サーバの管理者権限がないと無理なのかというと必ずしもそうではなくて、モジュールはファイルをコピーするだけで使える場合があります。
少なくとも自分の経験では Apache::Session (とそれが依存している各モジュール) の各 .pm ファイルをサーバにコピーするだけで使用した経験があります。
ただし、サーバに入っている Perl のバージョンが 5.6 では依存しているモジュールが不足しており (具体的に何だったかは失念)、Perl 5.8 以上でないとダメでした。
コメント(0件)