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