... Very often this points not to stupidity on your part, but a failure of Perl to parse your program the way you thought it would...so if you were to adapt perldiag example with andreas' example you get
#~ perl -MDDS -Mstrict -Mwarnings -le " my $hr; map { @{$hr->{$_}}{qw' + a b c '} = $_,$_,$_ ; } 1; Dump($hr) " #~ perl -MDDS -Mstrict -Mwarnings -le " my $hr; map { @{$hr->{$_}}{qw' + a b c '} = ( $_,$_,$_ ); } 1; Dump($hr) " #~ perl -MDDS -Mstrict -Mwarnings -le " my $hr; $_ = 1; @{$hr->{$_}}{q +w' a b c '} = $_,$_,$_ ; Dump($hr) " #~ perl -MDDS -Mstrict -Mwarnings -le " my $hr; $_ = 1; @{$hr->{$_}}{q +w' a b c '} = ( $_,$_,$_ ); Dump($hr) " $ perl -MDDS -Mstrict -Mwarnings -le " my $hr; map { @{$hr->{$_}}{qw' +a b c '} = $_,$_,$_ ; } 1; Dump($hr) " $HASH1 = { 1 => { a => 1, b => undef, c => undef } }; $ perl -MDDS -Mstrict -Mwarnings -le " my $hr; map { @{$hr->{$_}}{qw' +a b c '} = ( $_,$_,$_ ); } 1; Dump($hr) " $HASH1 = { 1 => { a => 1, b => 1, c => 1 } }; $ perl -MDDS -Mstrict -Mwarnings -le " my $hr; $_ = 1; @{$hr->{$_}}{qw +' a b c '} = $_,$_,$_ ; Dump($hr) " Useless use of a variable in void context at -e line 1. Useless use of a variable in void context at -e line 1. $HASH1 = { 1 => { a => 1, b => undef, c => undef } }; $ perl -MDDS -Mstrict -Mwarnings -le " my $hr; $_ = 1; @{$hr->{$_}}{qw +' a b c '} = ( $_,$_,$_ ); Dump($hr) " $HASH1 = { 1 => { a => 1, b => 1, c => 1 } }; $ $
In reply to Re^7: Possible useless use of map
by Anonymous Monk
in thread Possible useless use of map
by andreas1234567
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |