use strict; package MyModule; use vars qw(@ISA @EXPORT); require Exporter; @ISA = qw(Exporter); sub test { print "In test\n" }; sub test_again { print "In test_again\n" }; sub last_test{ print "In last_test\n" }; while (my ($name, $glob) = each %MyModule::) { push @EXPORT, $name if defined *$glob{CODE}; } 1;