>>>>>>>>>>>>>>>>> package first ; sub first_one {print "1\n" ; first_two()} ; sub first_two {print "2\n" ; print join(':', caller()) . "\n"} ; our @x ; package second ; $import_from = 'first' ; for $symbole_name (keys %{"$import_from\::"}) { local *symbole = "$import_from\::"->{$symbole_name} ; print "$symbole_name " ; if(defined *symbole{CODE}) { print "is code" ; *{__PACKAGE__ . "\::$symbole_name"} = \&{"$import_from\::$symbole_name"} ; } print "\n" ; } first_one() ; <<<<<<<<<<<<<<<<<<<<<<<<<<<