red.vulpes.com:~% more t.pl BEGIN { unshift @INC, sub { my($self, $file) = @_; print "loading $file\n"; return } } use Foo qw(t.pl); print "in t.pl\n"; red.vulpes.com:~% more Foo.pm package Foo; use Bar qw(Foo.pm); sub import { local $" = ', '; print "Foo::import(@_)\n"; } 1; red.vulpes.com:~% more Bar.pm package Bar; use Foo qw(Bar.pm); sub import { local $" = ', '; print "Bar::import(@_)\n"; } 1; red.vulpes.com:~% perl -w t.pl loading Foo.pm loading Bar.pm Bar::import(Bar, Foo.pm) Foo::import(Foo, t.pl) in t.pl