# foo.pm package foo; use bar; sub import { printf("%s loaded foo\n", scalar caller) } 1; #### # bar.pm package bar; use foo; sub import { printf("%s loaded bar\n", scalar caller) } 1; #### # script.pl use foo; #### foo loaded bar main loaded foo