our $CVS_ID=q$Id$;
use strict;
use warnings;
-require Tie::Hash; # for Tie::StdHash
-our @ISA=qw(Tie::StdHash);
+use My::Web; # for &Wrequire
+Wrequire 'My::Hash';
+our @ISA=qw(My::Hash);
use Carp qw(cluck confess);
{
my($this,$key)=@_;
- my $val=$this->SUPER::FETCH($key);
+ my $val=$this->pass("FETCH",$key);
return $val if $key=~/_sub$/; # force
return $val if !defined $val; # 1-item array is intentional.
return $val if "CODE" ne ref $val;
return &{$val}($this,$key);
}
-sub STORE
-{
-my($this,$key,$value)=@_;
-
- return $this->SUPER::STORE($key,$value) if $key!~/_push$/;
- my $val_orig=$this->SUPER::FETCH($key);
- $val_orig=[] if !defined $val_orig;
- $val_orig=[$val_orig] if "ARRAY" ne ref $val_orig;
- return $this->SUPER::STORE($key,[@$val_orig,$value]);
-}
-
1;