什么是 @.在Perl?

pil*_*row 6 variables perl

@.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.

Sin*_*nür 6

perldoc perlvar状态:

Perl变量名也可以是数字序列或单个标点符号或控制字符.这些名称都保留给Perl的特殊用途;

以数字,控制字符或标点符号开头的Perl标识符不受包声明的影响,并且始终强制进入package main; 他们也免于strict 'vars'错误.

您正在使用保留名称.你不应该期望能够依赖任何功能.