A.pm $menu->add('command' , -label => 'Delete', -command => sub {$self->onMenuDelete(@_)} ); ## Above $self is A B.pm sub B ::onmenuDelete { my B $self = shift; my $temp = $self->{business} ; $self->jobdisplayobj->deleteElements(); print Devel::FindRef::track \$temp; } The output is :REF(0xb20ba50) [refcount 2] is +- referenced by REF(0xbe1398c) [refcount 1], which is | a temporary on the stack. +- the lexical '$temp' in CODE(0xb20b900) [refcount 4], which is +- the global &A::onMenuDelete. +- the global &B::onMenuDelete.