my $who_here = Cache::FileCache->new(
default_expires_in => 300, # 5 minutes
);
# reset current user expiration time
$who_here->set($user, 1) if have_valid_user();
# if you have session data you can store it instead of
# the '1' with the side benefit of logging out users
# after inactivity
#
# my $userinfo;
# unless ($userinfo = $who_here->get($user)) {
# ... make them login again
# $who_here->set($user, { src_ip => 'foo', favorite_colour => 'green' });
# } else { # $userinfo has session info
# print "your favorite colour is $userinfo->{favorite_colour}
";
# }
my @who_here_now = $who_here->get_keys();
print "there are ", scalar @who_here_now, " recent visitors:
";
print "$_
" for @who_here_now;