96eabfbb7c8b3eb81708b0845303c8c458866795
package Memoize
::NDBM_File
;
Memoize::NDBM_File - glue to provide EXISTS for NDBM_File for Storable use
warn "Nonexistent function $AUTOLOAD invoked in Memoize::NDBM_File\n";
warn "Importing Memoize::NDBM_File\n" if $Verbose;
# This is so ridiculous...
for ($k = $self->FIRSTKEY(); defined $k; $k = $self->NEXTKEY($k)) {
$keylist{$self} = \
%fakehash;
warn "Memoize::NDBM_File EXISTS (@_)\n" if $Verbose;
_backhash
($self) unless exists $keylist{$self};
my $r = exists $keylist{$self}{$_[0]};
warn "Memoize::NDBM_File EXISTS (@_) ==> $r\n" if $Verbose;
warn "Memoize::NDBM_File DEFINED (@_)\n" if $Verbose;
_backhash
($self) unless exists $keylist{$self};
defined $keylist{$self}{$_[0]};
warn "Memoize::NDBM_File DESTROY (@_)\n" if $Verbose;
delete $keylist{$self}; # So much for reference counting...
$self->SUPER::DESTROY
(@_);
# Maybe establish the keylist at TIEHASH time instead?
warn "Memoize::NDBM_File STORE (@_)\n" if $VERBOSE;
$keylist{$self}{$_[0]} = undef;
# Inherit FETCH and TIEHASH