gpt4 book ai didi

perl - 如何在 perl 中的散列数组中向散列中添加新的键值对?

转载 作者:行者123 更新时间:2023-12-01 04:45:00 25 4
gpt4 key购买 nike

嗨,我需要向散列数组中的散列条目添加一个新的键值对。
下面是一些不起作用的示例代码(仅使用 1 个数组条目进行了简化) 打印语句的输出仅包含 1 个条目。

my @AoH;
push @AoH, { TEST1 => 'testvalue' };
for my $hash (@AoH)
{
$hash{'TEST2'} = 'testvalue2';
print Dumper($hash);
}

我究竟做错了什么?

谢谢你。

最佳答案

这段代码看起来有点奇怪,所以为了在这里简要展示它,我假设它是这样完成的,但是修复代码需要做的主要事情是更改:

$hash{'TEST2'} = 'testvalue2';

到:
$$hash{'TEST2'} = 'testvalue2';

或者:
$hash->{'TEST2'} = 'testvalue2';

额外的 '$' 或 '->' 取消引用散列引用 '$hash'。由于两者都不存在,它将 $hash{'TEST2'} 视为不同的变量:'%hash'(不是 '$hash')并将 'testvalue2' 分配给它。你会得到一个很好的错误信息:
Global symbol "%hash" requires explicit package name at - line XX

如果您尝试使用以下代码运行此代码:
use strict;
use warnings;

一开始......你应该总是这样做,所以从现在开始每次都这样做。

关于perl - 如何在 perl 中的散列数组中向散列中添加新的键值对?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21198880/

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