a.pl line 1 compiled: "use bspace" bspace line 1 compiled: package bspace; bspace line 2 compiled: use Exporter; Exporter.pm compiled main code of Exporter.pm executed Exporter::->import called (uselessly) bspace line 3 compiled: use cspace; cspace line 1 compiled: package cspace; cspace line 2 compiled: use Exporter; Exporter::import called (uselessly) cspace line 3 compiled: use bspace; bspace::->import called (but doesn't yet exist since bspace::ISA is not yet set to inherit import() from Exporter, so bgo and bhelp are not imported into cspace) cspace line 4 compiled but not executed: @ISA = 'Exporter' cspace line 5 compiled but not executed: @EXPORT = qw(cgo chelp); cspace line 6 compiled: sub cgo { bhelp(); } cspace line 7 compiled: sub chelp { print "chelp\n"; } cspace line 8 compiled but not executed: 1; cspace lines 4,5,8 executed cspace::->import called: cgo and chelp are exported into bspace bspace line 4 compiled but not executed: @ISA = 'Exporter' bspace line 5 compiled but not executed: @EXPORT = qw(bgo bhelp); bspace line 6 compiled: sub bgo { chelp(); } bspace line 7 compiled: sub bhelp { print "bhelp\n"; } bspace line 8 compiled but not executed: 1; bspace lines 4,5,8 executed bspace::->import called: bgo and bhelp are exported into main a.pl line 2 compiled: use cspace cspace::->import called: cgo and chelp are exported into main a.pl line 3 compiled but not executed: bgo() a.pl line 4 compiled but not executed: cgo() a.pl line 3 executed: bgo() (imported from bspace) bspace::bgo calls chelp() (imported from cspace) cspace::chelp prints "chelp\n" a.pl line 4 executed: cgo() (imported from cspace) cspace::cgo calls bhelp() which was not imported from bspace and so doesn't exist.