这是我的场景,其中有2个哈希值已从2个JSON文件解码.
我有2个复杂的哈希,
$hash1 = {k1=> { k11 => v1, k12 => v2}, k2 => { k21 => [v1, v2, v3] }}
$hash2 = {k1=> { k11 => v1, k12 => v2}, k2 => { k21 => [v3, v2, v1] }}
Run Code Online (Sandbox Code Playgroud)
我想比较这两个哈希的相等性,并使用Data :: Data的比较和Test :: More的is_deeply.两者都不会忽略数组的顺序.
我想比较忽略键'k21'的数组值的顺序.
我的应用程序从'keys%hash'填充数组,它提供随机顺序.
尝试了Data :: Compare的'ignore_hash_keys',但我的哈希有时可能很复杂而且不想忽略.
键'k21'有时也可以有哈希数组.
$hash3 = {k1=> { k11 => v1}, k2 => { k21 => [{v3 => v31}, {v2 => v22}] }}
Run Code Online (Sandbox Code Playgroud)
如何通过忽略数组顺序来比较这种复杂的哈希值.