Thanks but it was a simplified example from what I'm doing. I need to test a templating system and so my stuff is more like this below and BrowserUK's solution allows me to set all in a single sub definition. However I like your solution too and I'll keep it in mind for other contexts. Thanks!
my $test = 'show_stop_user';
my $calls = {
show_home => sub { show_home($config) },
show_stop_user => sub { show_stop_user($config,
{user=>'dummy',type=>'Users'}) },
admin_users_new_1 => sub { show_admin_user($config,
{ action=>'add',
messages=>{
success=>['line1','line2']
}})},
admin_users_new_2 => sub { show_admin_user($config,
{ action=>'add' }) },
};
$calls->{$test}();
Now I need to find out how I can redirect the Template::Toolkit output to the file $test.'.html' instead of screen... |