perl如何在打印时识别变量的结尾?

前端之家收集整理的这篇文章主要介绍了perl如何在打印时识别变量的结尾?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
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相关文章