Server IP : 15.235.198.142 / Your IP : 216.73.216.146 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /usr/share/perl/5.38.2/Memoize/ |
Upload File : |
use strict; use warnings; package Memoize::Storable; our $VERSION = '1.16'; use Storable 1.002 (); # for lock_* function variants our $Verbose; sub TIEHASH { my $package = shift; my $filename = shift; my $truehash = (-e $filename) ? Storable::lock_retrieve($filename) : {}; my %options; print STDERR "Memoize::Storable::TIEHASH($filename, @_)\n" if $Verbose; @options{@_} = (1) x @_; my $self = {FILENAME => $filename, H => $truehash, OPTIONS => \%options }; bless $self => $package; } sub STORE { my $self = shift; print STDERR "Memoize::Storable::STORE(@_)\n" if $Verbose; $self->{H}{$_[0]} = $_[1]; } sub FETCH { my $self = shift; print STDERR "Memoize::Storable::FETCH(@_)\n" if $Verbose; $self->{H}{$_[0]}; } sub EXISTS { my $self = shift; print STDERR "Memoize::Storable::EXISTS(@_)\n" if $Verbose; exists $self->{H}{$_[0]}; } sub DESTROY { my $self= shift; print STDERR "Memoize::Storable::DESTROY(@_)\n" if $Verbose; if ($self->{OPTIONS}{'nstore'}) { Storable::lock_nstore($self->{H}, $self->{FILENAME}); } else { Storable::lock_store($self->{H}, $self->{FILENAME}); } } sub FIRSTKEY { 'Fake hash from Memoize::Storable'; } sub NEXTKEY { undef; } 1; __END__ =pod =head1 NAME Memoize::Storable - store Memoized data in Storable database =head1 DESCRIPTION See L<Memoize>. =cut