in reply to problem querying TLD nameserver with Net::DNS::Resolver
Your variable is undefined because there wasn't an answer to the specific question you asked
From the Net::DNS::Resolver documentation:
Returns a "Net::DNS::Packet" object, or "undef" if no answers were found. If you need to examine the response packet whether it contains any answers or not, use the send() method instead.
This amended code uses send() instead:
use strict; use warnings; use Net::DNS; my $domain = $ARGV[0]; #192.48.79.30 is j.gtld-servers.net my $res = Net::DNS::Resolver->new( nameservers => [qw(192.48.79.30)], recurse => 1, debug => 1, ); my $packet = $res->send("$domain", 'NS'); my @authority = $packet->authority; foreach my $rr (@authority) { print $rr->string, "\n"; }
|
---|
In Section
Seekers of Perl Wisdom