📄 storable.pm
字号:
package Memoize::Storable;=head1 NAMEMemoize::Storable - store Memoized data in Storable database=head1 DESCRIPTIONSee L<Memoize>.=cutuse Storable ();$VERSION = 0.65;$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 ($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;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -