作者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
→ cibs:試試 Net::Libdnet::Arp ? 09/10 00:38
→ verybada:配上 Net::Ping可以了 感恩~~~ 09/10 19:53
※ 編輯: verybada 來自: 61.216.151.77 (09/10 20:13)