note
Anonymous Monk
<I>be considered as a session's last access? If not, what can? </i><P>I would say for the whole session yes, but not for individual values.
I would also test to check.
<readmore><c>
#!/usr/bin/perl --
use strict;
use warnings;
use CGI();
use CGI::Session();
my ($oneid);
{
my $one = CGI::Session->new or die CGI::Session->errstr;
$one->expire('3s');
$one->param(qw' var value ');
$oneid = $one->id;
print "set exire to 3 seconds\n";
}
{
sleep 1;
my $bob = CGI::Session->load($oneid) or die CGI::Session->errstr;
print "one second later $bob / $oneid load\n";
}
{
sleep 2;
my $bob = CGI::Session->load($oneid) or die CGI::Session->errstr;
print "two seconds later ";
if ( $bob->is_expired ) {
print "$bob / $oneid is_expired\n";
} else {
print "var=", $bob->param('var'), "\n";
}
}
{
sleep 3;
my $bob = CGI::Session->load($oneid) or die CGI::Session->errstr;
print "three seconds later ";
if ( $bob->is_expired ) {
print "$bob / $oneid is_expired\n";
} else {
print "var=", $bob->param('var'), "\n";
}
}
__END__
set exire to 3 seconds
one second later CGI::Session=HASH(0x182d050) / 6c9785d1a7916299004b02be2ab6ccd7 load
two seconds later var=value
three seconds later CGI::Session=HASH(0x2260b8) / 6c9785d1a7916299004b02be2ab6ccd7 is_expired
</c></readmore>
As you can see, loading is considered access (no big surprise there).
828260
828318
5