package Slave; use Master; #### package Master; use strict; use warnings; sub import { my $target = caller; no strict 'refs'; *{"$target\::nx"} = sub { do_something() } } #### package Slave; use strict; use warnings; use Master; sub do_something { my $pkg=caller(); print "$pkg\n"; } #### eval "package $caller; sub nx { do_something() }";