Perl中两种哈希的比较
我遇到过这种情况。 在hash1中,第一列是键,其余是datavalue,在hash2中也是如此 所以我想做的是比较这两个散列和 如果记录在hash2中而不是在hash1中,则它是一个add 如果记录在hash1中而不是在hash2中,那么它就是一个drop 我想要添加和删除列表。我想要与hash1和hash2进行比较,或者相反,在不使用CPAN模块的情况下获得添加和删除 哈希1 哈希2 在这种情况下,输出应如下所示:Perl中两种哈希的比较,perl,comparison,hash,Perl,Comparison,Hash,我遇到过这种情况。 在hash1中,第一列是键,其余是datavalue,在hash2中也是如此 所以我想做的是比较这两个散列和 如果记录在hash2中而不是在hash1中,则它是一个add 如果记录在hash1中而不是在hash2中,那么它就是一个drop 我想要添加和删除列表。我想要与hash1和hash2进行比较,或者相反,在不使用CPAN模块的情况下获得添加和删除 哈希1 哈希2 在这种情况下,输出应如下所示: Adds : BRAMAN MELISSA
Adds : BRAMAN MELISSA University Libraries Temporary Non-Exempt
Drops : Dexheimer James University Libraries Coord Fast Cataloging jdexheim
Rolls Erlinda University Libraries Prof-Support-Waldo Lib rolls
根据您的喜好调整输出。有一些错误,但如果使用两个大括号关闭,则可以正常工作。[供日后参考]。谢谢@ikegami.Fixed。(添加了缺少的参数。)
381753669 BRAMAN MELISSA University Libraries Temporary Non-Exempt
127759797 PRIEST DANIEL University Libraries Temporary Student-Non e
133708988 BRODHEAD MATTHEW University Libraries Temporary Student-Non e
204707142 Reish Joseph University Libraries Dean University
......
......
......
Adds : BRAMAN MELISSA University Libraries Temporary Non-Exempt
Drops : Dexheimer James University Libraries Coord Fast Cataloging jdexheim
Rolls Erlinda University Libraries Prof-Support-Waldo Lib rolls
for (keys(%h1)) {
if (!exists($h2{$_})) {
print("Dropped $_\n");
}
}
for (keys(%h2)) {
if (!exists($h1{$_})) {
print("Added $_\n");
}
}