$ perl -wle 'my @388=0..2;'
Can't use global @388 in "my" at -e line 1, near "my @388"
Execution of -e aborted due to compilation errors.
$ perl -wle '@388=0..2;'
$
在哪里可以了解有关 Perl 的神秘 @0 ... @9999 等的更多信息?
$ perl -wle 'my @388=0..2;'
Can't use global @388 in "my" at -e line 1, near "my @388"
Execution of -e aborted due to compilation errors.
$ perl -wle '@388=0..2;'
$
在哪里可以了解有关 Perl 的神秘 @0 ... @9999 等的更多信息?
这些是中
perldata
提到的第一类“特殊标识符” :$0
、、@0
和都%0
属于这种类型的标识符,但是$0a
、、@0a
和%0a
不属于这种类型的标识符,并且如果您尝试使用它们会产生语法错误。由于这些名称以数字开头,因此它们始终局限于包,
main
无法使用 进行本地化。手册my
中提到了这一点:perlvar
标量数值变量(
$0
、$1
、$2
、 ...)被保留并记录在案。 变量$0
保存当前程序的名称,而其他变量是只读的,保存最近正则表达式匹配中捕获的位。Perl 不会以任何记录的方式使用具有相同名称的数组和哈希变量(除了如上所述的“特殊含义”),并且可能会被想要编写混淆的 Perl 代码的人使用。