# ModuleA.pm use ModuleB; BEGIN { print "ModuleA::BEGIN\n"; } 1; # ModuleB.pm BEGIN { print "ModuleB::BEGIN\n"; } 1; # main.pl use ModuleA; use ModuleB; BEGIN { print "main::BEGIN\n"; } #### $ perl main.pl ModuleB::BEGIN ModuleA::BEGIN main::BEGIN