gpt4 book ai didi

Perl 不兼容问题与散列中的每个散列 - 5.14 → 5.8.8

转载 作者:行者123 更新时间:2023-12-04 16:26:17 25 4
gpt4 key购买 nike

以下代码适用于 Active Perl 5.14.2:

my %hzones = ();
#%hzones= (
# 'zone1' => {
# 'ns1' => 'ip1',
# 'ns1' => 'ip2',
# },
# 'zone2' => {
# 'ns1' => 'ip1',
# 'ns2' => 'ip2'
# }
#);

foreach my $k1 ( keys %hzones ) {
debug("# $k1",$d);
while ( my ($key, $value) = each($hzones{ $k1 }) ) { # Problem is here 217
while ( my ($nsname, $nsip) = each(%$value) ) {
debug("## $nsname , $nsip",$d);
}
# Creation de la zone et ajout dans infoblox
$session->add(createZone($k1)) or error("Add zone for ".$k1." failed: ",
$session->status_code(). ":" .$session->status_detail());
}
}

现在,如果我尝试在带有 Perl 5.8.8 的 RedHat 5.3 上使用此代码,则会出现以下错误:
Type of arg 1 to each must be hash (not hash element) at
./migration-arpa.pl line 217, near "}) "
Execution of ./migration-arpa.pl aborted due to compilation
errors.

问题 : 这个错误怎么解决?我如何遍历我的哈希表?

最佳答案

昆汀说的,但你可以尝试更换

each($hzones{ $k1 })


each(%{$hzones{ $k1 }})

取消引用哈希引用。

关于Perl 不兼容问题与散列中的每个散列 - 5.14 → 5.8.8,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10979486/

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