{ package MyTH; use Tie::Hash; @ISA = qw( Tie::StdHash ); sub FETCH { return $_[0]->{$_[1]} } } use Devel::Peek; tie my %h, "MyTH"; $h{foo} = 1; Dump($h{foo}) for 1 .. 3; __output__ SV = PVMG(0x811a810) at 0x811f4a4 REFCNT = 1 FLAGS = (TEMP,GMG,SMG,RMG) IV = 0 NV = 0 PV = 0 MAGIC = 0x8103ab8 ... SV = PVMG(0x811a810) at 0x811f4a4 REFCNT = 1 FLAGS = (TEMP,GMG,SMG,RMG) IV = 0 NV = 0 PV = 0 MAGIC = 0x8104480 ... SV = PVMG(0x811a810) at 0x811f4a4 REFCNT = 1 FLAGS = (TEMP,GMG,SMG,RMG) IV = 0 NV = 0 PV = 0 MAGIC = 0x8104480 ...