@array = reverse;
and
@array = reverse $_;
两者都不同。 @array = reverse
不会隐式使用$_
。我们必须明确声明$_
。这是一个非常奇怪的情况,默认情况下不使用$_
。这是一个错误吗?
答案 0 :(得分:9)
据我所知reverse documentation,reverse
适用于数组,所以它应该使用@_
而不是标量$_
?
文档说“在标量上下文中使用没有参数,reverse()
反转$_
。” [强调补充]
$_ = "dlrow ,olleH";
print reverse; # No output, list context
print scalar reverse; # Hello, world
答案 1 :(得分:4)
官方文档中的任何内容都是Perl规范。如果Perl做了文档说应该做的事情,那么它不是一个bug。这是一种语言设计和实施决策。