in reply to Re^6: Possible useless use of map
in thread Possible useless use of map

One could if you ignore intent, but I wouldn't support that conclusion. The warning deals with return value and where it ends up. perldiag says:
... 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 } }; $ $