标签: perl strictures
有人可以向我解释下面的代码。这种行为已经有一段时间了(在5.8.5,5.8.8,5.10.1,5.12.2上测试过),所以背后必然有原因吗?
$ perl -M5.012 -E '$aa=2' Global symbol "$aa" requires explicit package name at -e line 1. $ perl -M5.012 -E '$a=2'
感谢。
答案 0 :(得分:15)
这是在strict文档:
由于sort()的特殊用途,变量$ a和$ b 免除这张支票。
始终检查the docs。大多数答案都在那里:)
答案 1 :(得分:11)
$a(以及$b和其他许多人)是一个全局变量。它旨在用于sort功能,例如sort { $a <=> $b } @list。 perldoc perlvar列出了所有perl的内置全局变量及其含义。
$a
$b
sort
sort { $a <=> $b } @list
perldoc perlvar