Fwd: using a subroutine ref w/ strict refs
Chris Radcliff
chris at velocigen.com
Tue Oct 16 16:16:46 CDT 2001
~sdpm~
I'm not sure if it gains you anything, but this will work:
#!/usr/bin/perl
use strict;
my $command = $ARGV[0];
if ($command) {
eval "${command}()";
exit;
}
sub say_hello {
print "hello\n";
}
sub AUTOLOAD {
print "Invalid Sub\n"; exit;
}
The eval gets around the strict 'subs' pragma, but it's not liable to
gain any performance.
Cheers,
~chris
Chuck Phillips wrote:
>>
>> Quick question:
>> How would I do the following and ditch the "no strict 'refs'" line?
>> --------
>> #!/usr/bin/perl
>> use strict;
>> my $command = $ARGV[0];
>>
>> no strict 'refs';
>> if ($command) {
>> &$command;
>> exit;
>> }
>>
>> sub say_hello {
>> print "hello\n";
>> }
>>
>> sub AUTOLOAD {
>> print "Invalid Sub\n"; exit;
>> }
>>
>
~sdpm~
The posting address is: san-diego-pm-list at hfb.pm.org
List requests should be sent to: majordomo at hfb.pm.org
If you ever want to remove yourself from this mailing list,
you can send mail to <majordomo at happyfunball.pm.org> with the following
command in the body of your email message:
unsubscribe san-diego-pm-list
If you ever need to get in contact with the owner of the list,
(if you have trouble unsubscribing, or have questions about the
list itself) send email to <owner-san-diego-pm-list at happyfunball.pm.org> .
This is the general rule for most mailing lists when you need
to contact a human.
More information about the San-Diego-pm
mailing list