$ cat script.pl use strict; use warnings; use Foo; print "calling Foo::mysub\n"; Foo::mysub(); print "calling Bar::mysub\n"; Bar::mysub(); $ cat Foo.pm package Foo; use strict; use warnings; use Bar; sub mysub { print "I'm a sub in ", __PACKAGE__, "\n" } 1; $ cat Bar.pm package Bar; use strict; use warnings; sub mysub { print "I'm a sub in ", __PACKAGE__, "\n" } 1; $ perl script.pl calling Foo::mysub I'm a sub in Foo calling Bar::mysub I'm a sub in Bar