script1.pl
use CGI;
use CGI::Carp qw/fatalsToBrowser warningsToBrowser/;
use CGI::Session ( '-ip_match' );
#my $q = new CGI;
my $session = CGI::Session->new(undef, undef, {Directory=>'e:\tmp'});
$session->param("TestName", "TestValue");
$session->flush();
print $session->header(-location=>'script2.pl');
script2.pl
use CGI;
use CGI::Carp qw/fatalsToBrowser warningsToBrowser/;
use CGI::Session ( '-ip_match' );
use CGI::Cookie;
# fetch existing cookies
%cookies = CGI::Cookie->fetch;
$sessionid = $cookies{'CGISESSID'}->value;
my $session = CGI::Session->load(undef, $sessionid, {Directory=>'e:\tmp'}) or die CGI::Session->errstr();
print $session->id . " - " . $session->param('TestName'), "
";
print $session->dump() . " <-- Result of dump", "
";