我正在嘗試編寫一個Perl腳本,用於檢查設備的名稱是否存在於DNS中,如果不存在,則會打印該設備的名稱。目前,這是我該怎麼辦:設備名稱DNS測試
my $host_result = `host $device`;
my @host_result = split(/ /, $host_result);
my $dns = $host_result[0];
# host normally puts out something like this if there is an error:
# Host blah not found: 3(NXDOMAIN)
# So I check to see if the first word is 'Host'
if ($dns eq "Host") {
print $device;
}
正如你所看到的,我用的是系統的host
命令來做到這一點。更具體地說,我檢查host
是否可以找到設備的名稱。
我知道這不是host
的目的,我不想使用系統調用,除非我真的需要,所以我希望有人能指向我的Perl模塊,允許我檢查這些設備對DNS的名稱。我猜Net::DNS,但是我應該使用Net :: DNS來實現這個功能嗎?
我谷歌搜索,但我很難找到任何東西,因爲我不知道該找什麼(是DNS查詢?還是DNS解析?),因爲我只對DNS有一個基本的瞭解和與之相關的術語。
此外,我傳遞了很多設備名稱,因此歡迎任何關於如何加快檢查的提示!
太棒了!我之前使用過它,但它不工作。然而,你使用'say'讓我意識到,我應該在檢查它們之前''chomp'我的字符串,現在它可以工作! –
如果你仍然擁有它,你可以發佈你的基準代碼嗎? –
@AustinMoore查看我的最新編輯。 – ThisSuitIsBlackNot