storable.pm

来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PM 代码 · 共 73 行

PM
73
字号
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 + =
减小字号Ctrl + -
显示快捷键?