This looks like syntax error with map in list context. The documentation for map says "{ starts both hash references and blocks, so map { ... could be either the start of map BLOCK LIST or map EXPR, LIST." This syntax works as well as the one you discovered:
my %h = map { +"$_" => "$_" } @arr ;
In reply to Re: strange map behavior
by kyle
in thread strange map behavior
by jeanluca
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |