in reply to fastcgi did NOT break my Exports, issue now resolved

You're going into such details, but you haven't even covered the basics yet.

I have no problem reproducing the error from what you've told us:

$ cat Foo.pm package Foo; use strict; use warnings; use Exporter; our @EXPORT = qw( this_method that_method ); our %EXPORT_TAGS = ( all => [qw( this_method that_method )] ); sub this_method_that_method { "Hello World" } 1; $ cat a.pl use strict; use warnings; use Foo; print this_method_that_method(), "\n"; $ perl a.pl Undefined subroutine &main::this_method_that_method called at a.pl lin +e 6.

By the way, dumping the symbol table is of limited usefulness. It's just too easy to create the entry whose existence you want to check. And the existence of an entry doesn't say anything about whether a sub is associated with that name. And even if you verified the existence of a sub, you still don't know if that sub has been defined.