據我所知有兩種方式找到可偵測IP通過perl,它是perl中系統函數「ping」和Net :: Ping模塊之間的區別?
1. Using system Ping Command.
2. Using Net::Ping Module.
我試圖通過上述兩種技術來調用IP的ping的狀態。
我在這些方法中遇到問題,即系統ping命令對一個IP返回true。但是,Net :: Ping模塊對同一個IP返回false。
我不知道哪一個是正確的。任何人都請告訴我更喜歡正確的方式找到一個可ping IP。我已經寫了下面的示例代碼段:
#!/usr/bin/perl
use strict;
use Net::Ping;
my $ip_address = $ARGV[0];
chomp($ip_address);
#Using Net::Ping Module
my $p = Net::Ping->new();
if ($p->ping($ip_address)) {
print "Step - 1: Success!\n";
}
else {
print "Step - 1: Fail!\n";
}
#Using System Command
$retval=system("ping -c 2 $ip_address");
if ($retval==0) {
print "Step - 2: Success!\n";
} else {
print "Step - 2: Fail!\n";
}
print "\n\n\ Step2: $retval\n\n";
對於一些IP地址系統命令返回成功和Net ::平將返回失敗。這兩種方法有什麼區別?
感謝, 馬德漢
你在使用什麼操作系統? – Borodin 2013-03-12 12:08:05
該代碼將在Unix服務器中執行。 – Madhan 2013-03-12 12:28:52