perl如何识别变量的结尾?
例如,这段代码:
use warnings;
my $a = 10;
print "Value of a is $a:::";
Run Code Online (Sandbox Code Playgroud)
输出:
Use of uninitialized value $a:: in concatenation (.) or string at tryprint.pl line 6.
Value of a is :
Run Code Online (Sandbox Code Playgroud)
为什么考虑$ a ::而不是$ a:或$ a :::
这有效:
print "Value of a is $a\:::";
Run Code Online (Sandbox Code Playgroud)
打印:
Value of a is 10:::
Run Code Online (Sandbox Code Playgroud)
::用于打印/访问包/符号表中的变量.对于例如,以访问包装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";
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
350 次 |
| 最近记录: |