NetWallah has asked for the wisdom of the Perl Monks concerning the following question:
I'm trying to automate building a dispatch table - or at least, to minimize keystrokes.
Please suggest ways to achieve the desired result:
This currently prints:use strict; use warnings; my %dispatch = ( normal => sub{"$_[0] Normal dispatch"}, map( {$_ => sub{"$_[0] Sub returns $_"} } qw| Uno Dos tres|), ); print $dispatch{"normal"}->(0),"\n"; # 0 Normal dispatch (as expected) + print $dispatch{"Uno"}->(1),"\n"; # WANT: "1 Sub returns Uno" print $dispatch{"Dos"}->(2),"\n"; # WANT: "2 Sub returns Dos"
Also - is there a NAME for what I am attempting ? "Early evaluation of $_" ?0 Normal dispatch Use of uninitialized value $_ in concatenation (.) or string at .\test +dispatch.pl line 5. 1 Sub returns Use of uninitialized value $_ in concatenation (.) or string at .\test +dispatch.pl line 5. 2 Sub returns
"Avoid strange women and temporary variables."
Back to
Seekers of Perl Wisdom