Fwd: using a subroutine ref w/ strict refs
Bob Kleemann
rkleeman at energoncube.net
Tue Oct 16 16:39:29 CDT 2001
~sdpm~
You could try this:
use strict;
my %SUB_HASH = ( say_hello => \&say_hello );
my $command = shift @ARGV;
if (my $sub = $SUB_HASH{$command}) { $sub->() }
else { print "Invalid sub $command\n" }
sub say_hello { print "Hello\n" }
On Tue, 16 Oct 2001, Chuck Phillips wrote:
> ~sdpm~
> I sent this yesterday and I don't think it went through:
>
> > Hello all,
> >
> > Quick question:
> > How would I do the following and ditch the "no strict 'refs'" line?
> > Thanks,
> > Chuck
> > --------
> > #!/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.
>
>
~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