use v5.12; use warnings; BEGIN{ package log; our $var= "default"; sub tst { my $pkg= (caller)[0]; no strict 'refs'; say ${"${pkg}::var"} } # export *Other::tst = \&tst; } package Other; our $var = __PACKAGE__; { local $var = "foo"; tst(); } tst(); #### foo Other