作者verybada ()
看板Perl
标题[问题] arp ping模组
时间Thu Sep 9 22:37:31 2010
不好意思,再请教各位前辈一个问题
我目前有两个hash,两个hash内分别用pack压了一些设定档的资料进去
像是 $a{'a'} = pack("A A A", 'a', 'b', 'c'); 这样
而我目前想要针对这两个hash比较(一个存的是更新後的资料,一个是旧的)
当新的资料与旧的资料不同时就把旧的盖掉
我目前有想到
1.
if(unpack("@ A @", %a) ne unpack("@ A @", %b)){
....
}
当两者不相等时在执行替换,但是我要替换的可能只是pack里面某一项,不知道这样是否
行得通呢?
2.
{
my($aa, $ab, $ac) = unpack("A A A", %a);
my($ba, $bb, $bc) = unpack("A A A", %b);
if($aa ne $ba){
...
}
if...
}
把每个hash所对应的东西解开在一笔一笔比对,但是当资料量庞大的时候这样似乎不是一
个很好的做法?
再次感谢各位前辈的解答
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 61.216.151.76
1F:→ cibs:试试 Net::Libdnet::Arp ? 09/10 00:38
2F:→ verybada:配上 Net::Ping可以了 感恩~~~ 09/10 19:53
※ 编辑: verybada 来自: 61.216.151.77 (09/10 20:13)