in reply to map() abuse or child with a chainsaw

Not sure that this shouldn't be called shift abuse rather than map abuse, or possibly anonymous arrayref confusion. Consider the equally egregious
shift(@ARGV) foreach ([0,1]);
However, the two sorts of brackets does give it a more unnatural feel.

This is an example of confusing anonymous arrayrefs with lists, which IMO belongs in the list of traps for the unwary. I have seen several examples of Perl newbie code which has made this mistake, and it is on my checklist of things to look out for when helping people spot bugs.