デバイスの名前が DNS に存在するかどうかを確認し、存在しない場合はデバイスの名前を出力する Perl スクリプトを作成しようとしています。現在、これは私がそれを行う方法です:
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
、本当に必要でない限りシステム コールを使用したくないので、DNS に対してこれらのデバイス名をチェックできるようにする Perl モジュールを誰かが教えてくれることを期待していました。私は Net::DNS を推測していますが、これを達成するために Net::DNS 内で具体的に何を使用する必要がありますか?
私はグーグルで検索しましたが、何を探すべきかわからないため (DNS クエリですか? または DNS 解決ですか?)、DNS と関連する用語の基本的な知識しか持っていないため、何かを見つけるのに苦労しています。それに。
また、私は多くのデバイス名を渡しているので、チェックを高速化する方法についてのヒントは大歓迎です!