gpt4 book ai didi

perl - 为什么 perl 将刻度转换为冒号?

转载 作者:行者123 更新时间:2023-12-03 23:00:35 24 4
gpt4 key购买 nike

鉴于此程序:

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";

关于perl - 为什么 perl 将刻度转换为冒号?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17411126/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com