##### a.pm ##### package a; use b; sub import { print "import in $_[0] called from ". (caller(1))[3] ." \n"; } 1; #### ##### b.pm ##### package b; use a; sub import { print "import in $_[0] called from ". (caller(1))[3] ." \n"; } 1; #### ### test.pl ### #!/usr/bin/perl use strict; use warnings; use a; #### import in b called from a::BEGIN import in a called from main::BEGIN