sub build_funcs { my $package = caller; foreach ('A', 'B', 'C') { eval " print \"building $_ func\\n\"; sub $package\::${_}_func { print \"$_ func called\\n\"; } "; push @EXPORT, "${_}func"; } }