http://www.perlmonks.org?node_id=194757


in reply to dispatch table of functions and arguments

%func = { Click => { func => \&compute, param => [ @param ] }, Click2 => { func => \&compute2, param => [ @param2 ] }, };
----------

update: How to set a parameter:

$func{Click2}{param} = [ 1, 2, "hello" ];

How to call a function:

&{ $func{Click2}{func} } ( @{$func{Click2}{param}} );

update: corrected @{} in func call

----------

There are many more ways to do it.

Also:

... Click => { func => \&compute, param => \@param }, ...

Or:

... Click => [ \&compute, \@param ], ...