@.perl中的变量是什么?
它看起来是一个特殊的,可写的全局,并且(令人惊讶地)不会在双引号字符串中进行插值:
use strict;
use warnings;
# Under 5.8, 5.10, 5.12, 5.14, and 5.16,
# the following lines produce:
@. = (3, 2, 1); # no error
print "@.\n"; # "@."
print @., "\n"; # "321"
eval 'my @.; 1' # Can't use global @. in "my" at (eval 1)
or die $@; # line 1, near "my @."
Run Code Online (Sandbox Code Playgroud)
我不记得以前遇到它,并没有看到它perlvar也不是perldata.
Perl变量名也可以是数字序列或单个标点符号或控制字符.这些名称都保留给Perl的特殊用途;
和
以数字,控制字符或标点符号开头的Perl标识符不受包声明的影响,并且始终强制进入
package main; 他们也免于strict 'vars'错误.
您正在使用保留名称.你不应该期望能够依赖任何功能.