K2LL33D SHELL

 Apache/2.4.7 (Ubuntu)
 Linux sman1baleendah 3.13.0-24-generic #46-Ubuntu SMP Thu Apr 10 19:11:08 UTC 2014 x86_64
 uid=33(www-data) gid=33(www-data) groups=33(www-data)
 safemode : OFF
 MySQL: ON | Perl: ON | cURL: OFF | WGet: ON
  >  / usr / share / perl / 5.18.2 / Memoize /
server ip : 104.21.89.46

your ip : 172.70.179.73

H O M E


Filename/usr/share/perl/5.18.2/Memoize/ExpireFile.pm
Size1.03 kb
Permissionrw-r--r--
Ownerroot : root
Create time27-Apr-2025 10:10
Last modified21-Nov-2018 01:11
Last accessed06-Jul-2025 12:44
Actionsedit | rename | delete | download (gzip)
Viewtext | code | image
package Memoize::ExpireFile;

=head1 NAME

Memoize::ExpireFile - test for Memoize expiration semantics

=head1 DESCRIPTION

See L<Memoize::Expire>.

=cut

$VERSION = '1.03';
use Carp;

my $Zero = pack("N", 0);

sub TIEHASH {
my ($package, %args) = @_;
my $cache = $args{HASH} || {};
bless {ARGS => \%args, C => $cache} => $package;
}


sub STORE {
# print "Expiry manager STORE handler\n";
my ($self, $key, $data) = @_;
my $cache = $self->{C};
my $cur_date = pack("N", (stat($key))[9]);
$cache->{"C$key"} = $data;
$cache->{"T$key"} = $cur_date;
}

sub FETCH {
my ($self, $key) = @_;
$self->{C}{"C$key"};
}

sub EXISTS {
# print "Expiry manager EXISTS handler\n";
my ($self, $key) = @_;
my $cache_date = $self->{C}{"T$key"} || $Zero;
my $file_date = pack("N", (stat($key))[9]);#
# if ($self->{ARGS}{CHECK_DATE} && $old_date gt $cur_date) {
# return $self->{ARGS}{CHECK_DATE}->($key, $old_date, $cur_date);
# }
my $res = $cache_date ge $file_date;
# print $res ? "... still good\n" : "... expired\n";
$res;
}

1;