summaryrefslogtreecommitdiff
path: root/lib/Memoize/ExpireFile.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Memoize/ExpireFile.pm')
-rw-r--r--lib/Memoize/ExpireFile.pm28
1 files changed, 9 insertions, 19 deletions
diff --git a/lib/Memoize/ExpireFile.pm b/lib/Memoize/ExpireFile.pm
index 22e4d67b99..cca9fba651 100644
--- a/lib/Memoize/ExpireFile.pm
+++ b/lib/Memoize/ExpireFile.pm
@@ -10,25 +10,15 @@ See L<Memoize::Expire>.
=cut
+$VERSION = 0.65;
use Carp;
+my $Zero = pack("N", 0);
+
sub TIEHASH {
my ($package, %args) = @_;
- my %cache;
- if ($args{TIE}) {
- my ($module, @opts) = @{$args{TIE}};
- my $modulefile = $module . '.pm';
- $modulefile =~ s{::}{/}g;
- eval { require $modulefile };
- if ($@) {
- croak "Memoize::ExpireFile: Couldn't load hash tie module `$module': $@; aborting";
- }
- my $rc = (tie %cache => $module, @opts);
- unless ($rc) {
- croak "Memoize::ExpireFile: Couldn't tie hash to `$module': $@; aborting";
- }
- }
- bless {ARGS => \%args, C => \%cache} => $package;
+ my $cache = $args{HASH} || {};
+ bless {ARGS => \%args, C => $cache} => $package;
}
@@ -47,11 +37,11 @@ sub FETCH {
sub EXISTS {
my ($self, $key) = @_;
- my $old_date = $self->{C}{"T$key"} || "0";
+ my $old_date = $self->{C}{"T$key"} || $Zero;
my $cur_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);
- }
+# if ($self->{ARGS}{CHECK_DATE} && $old_date gt $cur_date) {
+# return $self->{ARGS}{CHECK_DATE}->($key, $old_date, $cur_date);
+# }
return $old_date ge $cur_date;
}