Server : Apache/2.4.18 (Ubuntu) System : Linux canvaswebdesign 3.13.0-71-generic #114-Ubuntu SMP Tue Dec 1 02:34:22 UTC 2015 x86_64 User : oppastar ( 1041) PHP Version : 7.0.33-0ubuntu0.16.04.15 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, Directory : /usr/share/perl/5.22.1/Memoize/ |
Upload File : |
package Memoize::Storable; =head1 NAME Memoize::Storable - store Memoized data in Storable database =head1 DESCRIPTION See L<Memoize>. =cut use Storable (); $VERSION = '1.03'; $Verbose = 0; sub TIEHASH { require Carp if $Verbose; my $package = shift; my $filename = shift; my $truehash = (-e $filename) ? Storable::retrieve($filename) : {}; my %options; print STDERR "Memoize::Storable::TIEHASH($filename, @_)\n" if $Verbose; @options{@_} = (); my $self = {FILENAME => $filename, H => $truehash, OPTIONS => \%options }; bless $self => $package; } sub STORE { require Carp if $Verbose; my $self = shift; print STDERR "Memoize::Storable::STORE(@_)\n" if $Verbose; $self->{H}{$_[0]} = $_[1]; } sub FETCH { require Carp if $Verbose; my $self = shift; print STDERR "Memoize::Storable::FETCH(@_)\n" if $Verbose; $self->{H}{$_[0]}; } sub EXISTS { require Carp if $Verbose; my $self = shift; print STDERR "Memoize::Storable::EXISTS(@_)\n" if $Verbose; exists $self->{H}{$_[0]}; } sub DESTROY { require Carp if $Verbose; my $self= shift; print STDERR "Memoize::Storable::DESTROY(@_)\n" if $Verbose; if (exists $self->{OPTIONS}{'nstore'}) { Storable::nstore($self->{H}, $self->{FILENAME}); } else { Storable::store($self->{H}, $self->{FILENAME}); } } sub FIRSTKEY { 'Fake hash from Memoize::Storable'; } sub NEXTKEY { undef; } 1;