Generally speaking, a function dispatch table:
Win8 Strawberry 5.8.9.5 (32) Wed 07/14/2021 23:52:13 C:\@Work\Perl\monks >perl use strict; use warnings; my %func = ( foo => sub { print "fooble: @_ \n"; }, bar => sub { print "barble: @_ \n"; }, ); my $from_form = 'foo'; $func{$from_form}(42, 'zot'); ^Z fooble: 42 zot
Update 1: It's usually wise to check if the $from_form string actually exists in the %func dispatch table before trying to invoke it. :)
Update 2: In Perl as in life, there's usually more than one way to do something. Another way to do what you want is called "symbolic referencing", also known as a "soft reference". This technique is Officially Frowned Upon. See Why it's stupid to `use a variable as a variable name' and also the perlfaq7 FAQ How can I use a variable as a variable name?
Give a man a fish: <%-{-{-{-<
In reply to Re: Using form return value as subroutine name (updated x2)
by AnomalousMonk
in thread Using form return value as subroutine name
by phirun
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |