in reply to Re: Re: multiple keys - one value in thread using a hash of functions
I suspect it's because $h{HELP} doesn't exist when you create the tuple Q=>$h{HELP}, as %h hasn't been assigned to at that time.
Perhaps this will work for you:
use Data::Dumper;
my %h=( HELP => sub {print qq(help\n)},
SAVE=>sub{print qq(save\n)} );
$h{Q} = $h{HELP};
print Dumper(%h);
print $h{Q}();
Result:
$VAR1 = 'Q';
$VAR2 = sub { "DUMMY" };
$VAR3 = 'HELP';
$VAR4 = $VAR2;
$VAR5 = 'SAVE';
$VAR6 = sub { "DUMMY" };
help
1
Note that HELP and Q both use the same sub.
-QM
--
Quantum Mechanics: The dreams stuff is made of
|