use strict; use Z; print "hey 1\n"; zProc(); subzProc(); print "hey 2\n"; #### package L; use strict; use Exporter; our (@ISA) = qw(Exporter); use Z; sub lProc { print "I am lProc\n"; } sub sublProc { print "I am sublProc\n"; zProc(); } #### package Z; use strict; use Exporter; use L; our (@EXPORT) = qw(zProc subzProc); our (@ISA) = qw(Exporter); sub zProc { print "I am zProc\n"; } sub subzProc { print "I am subzProc\n"; L::lProc(); L::sublProc(); } 1;