我正在尝试编写一个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