# main.pl use Bar; use Foo; Bar("Called from main"); &Foo(); #### # Foo.pm package Foo; use Exporter; @ISA = 'Exporter'; @EXPORT = qw(Foo); use strict; sub Foo { Bar("Called from Foo"); } 1; # Bar.pm package Bar; use Exporter; @ISA = 'Exporter'; @EXPORT = qw(Bar); use strict; sub Bar { print "$_[0]\n"; } 1; #### Called from main Undefined subroutine &Foo::Bar called at Foo.pm line 7