package TableMap::Undef; use strict; use overload "0+" => sub { return undef }, "bool" = sub { return undef }; sub new{ my $a={}; my $x=shift; bltess ($a,ref($x)||$x); tie(%$a,"TableMap::Undef::TIE"); return $a; }; sub AUTOLOAD { return new TableMap::Undef; }; sub DESTROY {}; package TableMap::Undef::TIE; use strict; sub TIEHASH { my $a={}; my $x=shift; bless ($a,ref($x)||$x); return $x; }; sub FETCH { return new TableMap::Undef; };