perl 如何识别变量的结尾?
例如,这段代码:
use warnings;
my $a = 10;
print "Value of a is $a:::";
输出:
Use of uninitialized value $a:: in concatenation (.) or string at tryprint.pl line 6.
Value of a is :
为什么它考虑 $a::而不是 $a: 或 $a::::
这有效:
print "Value of a is $a\:::";
打印:
Value of a is 10:::
最佳答案
::
用于打印/访问包/符号表中的变量。例如,要访问包 abc 中的标量变量 x,Perl 使用 $abc::x
哪里abc
是符号表的名称和 x
是变量。同样,当您使用 $a:::
时, Perl 认为有一个包的名字是' a
' 和变量名称为 :
,因此这些错误。
请参阅下面的示例:
our $a = 10;
{
my $a=20;
print "lexical a is $a \n";
print "Value of a is $main::a";
}
关于perl - perl 如何在打印时识别变量的结尾?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16076152/