簡単なセッション管理を実装することになり、perlのCGI::Sessionを使用しました。
CGI::Sessionでは、セッション情報をcookieやmysqlへ登録できるようですが、私の場合、ファイルとしてセッション情報を保持したので、そのsrcの一部を記載しておきます。
http://search.cpan.org/perldoc?CGI::Session
新規セッション
package CgiSession::Test; use strict; use utf8; use CGI::Session; sub start_session { my ($self,$cgi)= @_; #この例では、セッション情報をあるdir以下に保存 my $session = CGI::Session->new(undef, undef, {Directory=>'/tmp/cgi_session'}); #セッションにkey-valueを登録 $session->param('find_atri','find_val'); #セッションIDとurlに含めてredirect my $url =join('', $self->root_cgi, "/members/list", "?s_id=",$session->id()); print $cgi->redirect($url); return $self; }
セッション情報のload
package CgiSession::Test; use strict; use utf8; use CGI::Session; sub load_session { my ($self,$cgi)= @_; #sessionのload my $session = CGI::Session->new(undef, $cgi->param('s_id'), {Directory=>'/tmp/cgi_session'}); #セッションからkey-valueを取得 my $find_sql = $session->param('find_sql'); return $self; }