在perl(v5.14.2)中,为什么map {+0,0}()正确但映射{0,0}()不正确?

时间:2013-05-17 11:29:48

标签: perl

似乎perl将{+0,0}视为BLOCK而{0,0}视为EXPR 但为什么?这是一项特殊规定吗?

如果我想确保{}是一个匿名哈希,无论大括号包含什么,我是否必须在{}之前加上一个“+”?

感谢。

1 个答案:

答案 0 :(得分:3)

为什么呢?因为它可能是其中之一,并且解析器看起来不够遥远,无法确定它需要决定的时间。

你是否必须在{}之前加上'+'才能将它视为匿名哈希构造函数而不管{}的内容是什么?是。