use Symbol 'delete_package';
foreach my $module (@modules) {
require "sub/$module.pm";
import $module qw(foo bar);
foo();
bar();
#cleanup
delete_package($module);
}
####
use Symbol 'delete_package';
foreach my $module (@modules) {
eval "use sub::$module";
import $module qw(foo bar);
foo();
bar();
#cleanup
delete_package($module);
}
##
##
use Symbol 'delete_package';
require UNIVERSAL::require;
foreach my $module (@modules) {
"sub::$module"->require or die $@;
import $module qw(foo bar);
foo();
bar();
#cleanup
delete_package($module);
}