package Foo; sub get_package { return __PACKAGE__; } 1; #### package Foo; sub do_something { print __PACKAGE__,"\n"; } 1; -------------------------------- foreach ("Foo.pm") { eval { require $_; }; if ($@) { print "Error in $_\n"; print $@,"\n"; } } Foo::do_something();