给定这个程序:
use strict; use warnings; my $zx_size = 32; my $x = "$zx_size'h0";
Perl告诉我:
Name "zx_size::h0" used only once: possible typo at concat.pl line 7. Use of uninitialized value $zx_size::h0 in string at concat.pl line 7.
为什么?
看起来有多种方法来指定var的命名空间.还有别人吗
是否可以关闭此行为?
解决方法
旧包分隔符是单引号,最初用于缓解Ada程序员过渡到Perl.它被替换为:更易于阅读并简化C程序员的转换.
它仍然支持向后兼容性,但您可以将标量包装在{..}中,使其正确内插.
my $x = "${zx_size}'h0";
要么
my $x = "$zx_size\'h0";