这个问题在这里已经有了答案:
Why does this map block contain an apparently useless +?
(2 个回答)
8年前关闭。
似乎 perl 将 {+0,0} 视为 BLOCK 而将 {0,0} 视为 EXPR
但为什么?这是特殊规定吗?
如果我想确保 {} 是一个匿名散列,无论大括号包含什么,我是否必须在 {} 之前放一个“+”?
谢谢。
最佳答案
为什么?因为它可能是,而且解析器在它需要决定的时候看起来还不够远,无法确定。
您是否必须在 {} 之前放置一个“+”才能将其视为匿名哈希构造函数而不管 {} 的内容如何?是的。
关于perl - 在 perl(v5.14.2) 中,为什么 map{+0,0}() 正确而 map{0,0}() 不正确?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16607889/