gpt4 book ai didi

perl - 比较两个数组哈希是否相等

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

我想比较两个数组的哈希值,看看它们是否相等。也就是说,键值应该包含相同的元素。

my %h1 = (
w1 => ['3','1','2'],
e2 => ['6','2','4'],
r1 => ['8', '1'],
);

my %h2 = (
w1 => ['3','1','2'],
e2 => ['6','2','4'],
r1 => ['8','1'],
);

my %h3 = (
w1 => ['3','1','2'],
e2 => ['6','2','4'],
r1 => ['4','1'],
);

my $i = 0;

foreach ( keys %h2 ){
my $conditional = scalar keys %h2; # 3
if ([sort @{$h1{$_}}] ~~ [sort @{$h2{$_}}]) {
$i++;
}
if ($i eq $conditional){
print "true\n";
}
}

比较 %h1%h2 应该返回 true,因为它们是相等的。比较 %h1%h3 不会打印任何内容。 1) 有更好的方法吗?

编辑

我想不使用模块中的函数来执行此操作。

最佳答案

试试 Test::Deep::NoTest ,它处理一切Test::Deep确实如此,只是它只返回 true 或 false 而不输出 TAP 测试。

print "true" if eq_deeply(\%h1, \%h2)

关于perl - 比较两个数组哈希是否相等,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15794160/

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