Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re^5: How to conditionally execute a subroutine defined as hash value

by Corion (Patriarch)
on Apr 02, 2014 at 10:55 UTC ( #1080749=note: print w/replies, xml ) Need Help??


in reply to Re^4: How to conditionally execute a subroutine defined as hash value
in thread How to conditionally execute a subroutine defined as hash value

Then consider passing the appropriate parameter, depending on $test?

my $config= 'A' eq $test ? \%config_A : \%config_B;

Or even better, do the same for your data as you already did for your code:

my %config= ( A => \%config_A, B => \%config_B, ); my $config= $config{ $test } or die "Unknown test '$test'";

Replies are listed 'Best First'.
Re^6: How to conditionally execute a subroutine defined as hash value
by Anonymous Monk on Apr 02, 2014 at 11:16 UTC
    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...

      Thanks for finally letting us know what you really want.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://1080749]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this? | Other CB clients
Other Users?
Others perusing the Monastery: (4)
As of 2022-08-16 18:40 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found

    Notices?