package Eval; sub import { my ($package, $name) = @_; $name = 'Eval' unless defined $name; my %magical_hash; tie %magical_hash =>Eval; my $caller = caller; *{caller . '::' . $name} = \%magical_hash; } sub TIEHASH { my $self = \'fake'; bless $self => Eval; } sub FETCH { my ($self, $value) = @_; $value; }