my $coderef = sub { my ($package) = caller; $package->global }; package Base; sub AUTOLOAD { no strict 'refs'; # Please note the complete lack of # Sanity checking here :) return ${ $AUTOLOAD } if $AUTOLOAD =~ /^.*::\w+$/; } package Foo; @ISA=('Base'); $global = 'in Foo'; print &$coderef; package Bar; @ISA=('Base'); $global = 'in Bar'; print &$coderef;