IPアドレスの解決(Net::DNS)
ここでは、Net::DNSを使ってAレコードを取得する方法を説明したいと思います。
Net::DNSサンプル
以下に単純なサンプルを示します。
#!/usr/bin/perl
use Net::DNS;
$res = Net::DNS::Resolver->new;
$query = $res->search('www.yahoo.co.jp');
#失敗した場合
if (!$query) {
print $res->errorstring;
print "\n";
exit;
}
#結果を1行づつ表示
foreach $rr ($query->answer) {
if ($rr->type eq "A") {
print $rr->address;
print "\n";
}
}
exit;
単一のホスト名(もしくはFQDN)に複数のIPアドレスが関連つけられていることがあるため、resolvの結果は複数になっています。