【发布时间】:2013-08-06 16:10:27
【问题描述】:
我正在尝试编写一个 Perl 脚本来检查设备名称是否存在于 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 内部的什么来完成这个?
我在 Google 上四处搜索,但我很难找到任何东西,因为我不知道要查找什么(是 DNS 查询吗?还是 DNS 解析?),因为我对 DNS 和相关的术语。
另外,我传递了很多设备名称,因此欢迎提供有关如何加快检查速度的任何提示!
【问题讨论】: