http://qs321.pair.com?node_id=656530


in reply to variable subroutine call

You can use a variable containing the name of a function as a reference to call the function.

sub say { print $_[0],$/ }; $x = 'say'; $x->('hello');

Although Perl supports this, you shouldn't use it because it can be very dangerous. This is disallowed when 'use strict refs' is in effect. meraxes solution is better. Store references to allowed functions in a hash and allow the user to choose a function by entering its key value.

90% of every Perl application is already written.
dragonchild