Tom Allison wrote: > John W. Krahn wrote: >> >> my %subs = ( >> f => sub { >> my $value = shift; >> print "$value\n"; >> }, >> g => sub { >> my $value = shift; >> print "\t$value\n"; >> }, >> ); >> my $var = shift; >> $subs{ $var }( 'test' ) if exists $subs{ $var }; > > YUP! That'll do it. Thanks! > > I think I've seen something like this before. > That'll work. Kind of strange though. > I'm worried that my subroutines 'f' and 'g' might become 100's of lines > long before I'm done. Not very maintainable....
Well, you can define the subs anywhere and use references: sub f { my $value = shift; print "$value\n"; } sub g { my $value = shift; print "\t$value\n"; } my %subs = ( f => \&f, g => \&g, ); my $var = shift; $subs{ $var }( 'test' ) if exists $subs{ $var }; John -- use Perl; program fulfillment -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>