hi barry and mike --   

In a message dated 6/9/2009 6:44:02 PM Eastern Standard Time, 
[email protected] writes:

> So, something like:
> 
> my %functionTable = (
>   'string_1' => sub {
>    },
>   'string_2' => sub {
>    },
> );
> 
> invocation via:
> 
> &$functionTable{'string_1'}(ARGLIST);
> 
> ..is that what you had in mind?
> 
> -Mike
> 
> Barry Brevik wrote:
> > I am running Active Perl 5.8.8 on Windows.
> >  
> > I'm coding an app right now where it would be advantageous to be able to
> > look up a text string in an array (or hash) and be able to branch to a
> > subroutine that is somehow associated with that string.
> >  
> > Am I dreaming, or is this possible?
> >  
> > Barry Brevik

in the expression  &$functionTable{'string_1'}(ARGLIST);  the & operator 
binds more tightly with  $functionTable  as a scalar than as a hash 
access.  try the syntax below, or better yet use the  ->  dereference 
operator.   

perl -wMstrict -le
"my %functionTable = (
   string_1 => sub { print qq{one: @_} },
   string_2 => sub { print qq{two: @_} },
   );
 &{ $functionTable{string_1} }(qw(a b c));
 $functionTable{string_2}->(qw(x y z));"
one: a b c
two: x y z

hth -- bill walters   
<BR><BR>**************<BR>Download the AOL Classifieds Toolbar for local deals 
at your 
fingertips. 
(http://toolbar.aol.com/aolclassifieds/download.html?ncid=emlcntusdown00000004)</HTML>
_______________________________________________
ActivePerl mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to