smullis has asked for the wisdom of the Perl Monks concerning the following question:
Hello All...
I'm having a problem generating hash keys using a sub. I'm pretty sure that this is a syntactic error and while I could easily "do it another way" I'm just curious as to why this occurs....
Let's set it all up:
use Digest::MD5 qw(md5_hex); use strict; use warnings; my $secret = "applepie";
Here's the sub function:
sub get_md5 { md5_hex("$secret" . "$_") };
This works great...
my @array = qw(foo bar baz); my %md5_other_hash = (map {&get_md5, $_ } @array);
Not this though:
my %md5_hash = ( &get_md5('foo') => "foo", &get_md5('bar') => "bar", &get_md5('bar') => "baz", );
But Why?
Whereas, here we have no problem...
print &get_md5('foo');
Anyone care to help me understand what's going on here? I intuitively think it should be fine.... which is why I ask...
Many thanks in advance,
Cheers
SM
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re: Creating a hash with key generated by a sub?
by gaal (Parson) on Nov 12, 2004 at 13:57 UTC | |
|
Re: Creating a hash with key generated by a sub?
by steves (Curate) on Nov 12, 2004 at 13:11 UTC | |
by smullis (Pilgrim) on Nov 12, 2004 at 13:21 UTC | |
by steves (Curate) on Nov 12, 2004 at 13:27 UTC | |
|
Re: Creating a hash with key generated by a sub?
by dragonchild (Archbishop) on Nov 12, 2004 at 12:58 UTC | |
by smullis (Pilgrim) on Nov 12, 2004 at 13:07 UTC |