Does anyone know how can I do something like:
my $mod = "Module.pm";
#Then require this $mod module (using eval()
#Then executing a certain subroutine from that module and getting the results.
I found that I can require a module and execute it entirely but I am not able to choose to execute just a subroutine from it, nor to extract the value of a certain variable because if I require that module using eval(), the vars are not exported.
If the module exports something, it will be imported if you import it. ;-) Otherwise you are still able to access subroutines and global variables by calling them with fully qualified names:
Module::somefunction();
To import something, you can for instance do:
my $mod = 'Module'; # without the '.pm' extension
eval "require $mod";
unless ($@) {
import $mod qw(somefunction);
somefunction();
}or
my $mod = 'Module';
eval "use $mod qw(somefunction)";
unless ($@) {
somefunction();
}Please see:
perldoc perlmod
perldoc -f evalHTH
-- Gunnar Hjalmarsson Email: http://www.gunnar.cc/cgi-bin/contact.pl
-- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>
