为什么 Perl 将勾号翻译成冒号?

2024-01-13

鉴于这个程序:

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.

Why?

看来有多种方法可以指定 var 的命名空间。还有其他人吗?

是否可以关闭此行为?


旧的包分隔符是单引号'它最初是用来帮助 Ada 程序员轻松过渡到 Perl 的。它被替换为::更具可读性并简化 C++ 程序员的过渡。

它仍然支持向后兼容,但您可以将标量包装在{..}让它正确插值。

my $x = "${zx_size}'h0";

or

my $x = "$zx_size\'h0";
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

为什么 Perl 将勾号翻译成冒号? 的相关文章

随机推荐