in reply to Re^2: Modifying hash keys via aliasing
in thread Modifying hash keys via aliasing

Yes, I agree, I also would have expected a warning (which is why I added the -w flag in the first place).

Just as I would also have expected a warning saying something like "attempt to modify read-only value" with the following pieces of code:

$ perl -Mstrict -wE 'say ++$_ for 1..4;' 2 3 4 5 ~ $ perl -Mstrict -wE 'say $_ for map {++$_} 1..4;' 2 3 4 5
But there is no warning. On the other hand, you get a warning with this:
$ perl -Mstrict -wE 'say $_ for map {++$_} (1, 2, 3, 4);' Modification of a read-only value attempted at -e line 1.
There must be some reason, but it does not look very consistent to me.