阅读本页:https://github.com/book/perlsecret/blob/master/lib/perlsecret.pod,并对以下声明感到非常惊讶:
Discovered by Philippe Bruhat, 2012.
Discovered by Abigail, 2010. (Alternate nickname: "grappling hook")
Discovered by Rafaël Garcia-Suarez, 2009.
Discovered by Philippe Bruhat, 2007.
等等…
上面的运算符是DISCOVERED,所以它们不是perl设计故意的吗?
这意味着perl可能会有一些随机的字符序列按照正确的顺序做一些有用的,比如()x!!
"运算符"?
这里有发现运算符的其他语言吗?
从您链接的页面:
它们就像这些Perl程序员所看到的运算符他们经常认出他们而不去想他们较小的零件,并最终将它们添加到工具箱中。他们是就像秘密一样,它们必须被他们的未来的用户(或由程序员同事传输),因为他们没有明确记录。
也就是说,它们实际上不是自己的运营商,但它们是由较小的运营商组成的,这些运营商组合在一起做一些事情。
例如,'venus'运算符(0+
或+0
)对对象的左侧或右侧进行编号。这就是以任何形式加零的作用,不管是否为"秘密"运算符。
Perl有一堆做特殊事情的运算符,以及在特定上下文中解释时做特殊事情。与其将它们视为实际的"运算符"(即,Perl语法分析器未明确识别),不如将它们看作某些函数/操作的组合。例如,被称为"企业"运算符的()X!!
由列表()
、重复运算符x
和执行布尔转换的!!
("砰砰"运算符)组成。这就是Perl如此富有表现力的原因之一。