我正在尝试编写一个 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 内部的什么来完成这个?
我四处搜索,但我很难找到任何东西,因为我不知道要查找什么(是 DNS 查询吗?还是 DNS 解析?),因为我对 DNS 和相关术语只有基本的了解给它。
另外,我传递了很多设备名称,因此欢迎提供有关如何加快检查速度的任何提示!