Это работает,
print map { $_." x" => $_ } 1..5;
print map { ("$_ x" => $_) } 1..5;
print map { ("$_ x") => $_ } 1..5;
но это вызывает синтаксическую ошибку,
print map { "$_ x" => $_ } 1..5;
Является ли эта документированная ошибка, недокументированная ошибка, или я не понимаю, почему это не должно компилироваться?
Почему perl считает, что это должно быть map EXPR, LIST
вместо map BLOCK LIST