



DNSクライアントモジュール
use Net::DNS;
パッケージをロードする。
実際の処理は、Net::DNS::Resolver等の派生クラスが行う。必要な派生クラスは全てロードされる。
my $dns = new Net::DNS::Resolver;
Resolver インスタンスを生成する。
$dns->nameservers(@servers);
検索するネームサーバを設定する。
my $packet = $dns->query($hostname[, $type]);
DNSレコードを検索してNet::DNS::Packetオブジェクトを返す。エラーが発生した場合は、undefが返る。
$type を省略した場合はAレコード。但し、$hostnameにIPアドレスが指定された場合はPTRレコード。
$dns->errorstring;
直前の検索のエラーメッセージを返す。
my @rr = $packet->answer; (Net::DNS::Packet のメソッド)
直前の検索結果をNet::DNS::RRオブジェクトリストで返す。
Net::DNS::Packet のメソッド
$rr->print ; # 検索結果の表示
$rr->string; # 検索結果
$rr->name; # ホスト名
$rr->type; # タイプ
$rr->class; # class
$rr->ttl; # TTL(生存時間)
$rr->address; # IPアドレス
$rr->rdata; # レコードデータ(バイナリ)
$rr->rdatastr; # レコードデータ文字列
AレコードのIPアドレスは、$rr->ipと$rr->rdatastrに返ってくる。
それ以外(CNAME,MX,PTR)は、$rr->rdatastrにレコード値のホスト名が返ってくる。
MXレコードの場合は、ホスト名だけでなく、優先順位を指定する数字が前に付いてくるので要注意。