If I read your statement correctly ( and I may not have ), the first use of map isn't correct
But this usage is correctmy @first = qw/ one-1 two-2 three-3/; my %hash = map { split /-/ } @first; # Which works for me btw print map { "$_ => $hash{$_}\n" } keys %hash;
my @first = qw/ one-1 two-2 three-3/; my @second = map { split /-/ } @first; my %hash = @second; # Legal code, isn't it? print map { "$_ => $hash{$_}\n" } keys %hash;
How else is map supposed to make @first into @second except by performing an action on every element of @first?
I am not arguing that a foreach wouldn't be appropriate here. If that is what works, by all means use it. But if I am not supposed to use map when I want an action on every element of an array, doesn't it make more sense to say
because that seems to be the only option you have left me with this statement.@second = @first;
Would you be kind enough to expand on your answer so I can figure out what I missed?
TIA
mikfire
In reply to Re: Re: Back to Remedial Perl for Me: map{} function
by mikfire
in thread Back to Remedial Perl for Me: map{} function
by jreades
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |