Provided by: libnet-nslookup-perl_2.04-2_all bug

NAME

       Net::Nslookup - Provide nslookup(1)-like capabilities

SYNOPSIS

         use Net::Nslookup;
         my @addrs = nslookup $host;

         my @mx = nslookup(type => "MX", domain => "perl.org");

DESCRIPTION

       "Net::Nslookup" provides the capabilities of the standard UNIX command line tool
       nslookup(1). "Net::DNS" is a wonderful and full featured module, but quite often, all you
       need is `nslookup $host`.  This module provides that functionality.

       "Net::Nslookup" exports a single function, called "nslookup".  "nslookup" can be used to
       retrieve A, PTR, CNAME, MX, NS, SOA, TXT, and SRV records.

         my $a  = nslookup(host => "use.perl.org", type => "A");

         my @mx = nslookup(domain => "perl.org", type => "MX");

         my @ns = nslookup(domain => "perl.org", type => "NS");

         my $name = nslookup(host => "206.33.105.41", type => "PTR");

         my @srv = nslookup(term => "_jabber._tcp.gmail.com", type => "SRV");

       "nslookup" takes a hash of options, one of which should be term, and performs a DNS lookup
       on that term.  The type of lookup is determined by the type argument.  If server is
       specified (it should be an IP address, or a reference to an array of IP addresses), that
       server(s) will be used for lookups.

       If only a single argument is passed in, the type defaults to A, that is, a normal A record
       lookup.

       If "nslookup" is called in a list context, and there is more than one address, an array is
       returned.  If "nslookup" is called in a scalar context, and there is more than one
       address, "nslookup" returns the first address.  If there is only one address returned,
       then, naturally, it will be the only one returned, regardless of the calling context.

       domain and host are synonyms for term, and can be used to make client code more readable.
       For example, use domain when getting NS records, and use host for A records; both do the
       same thing.

       server should be a single IP address or a reference to an array of IP addresses:

         my @a = nslookup(host => 'example.com', server => '4.2.2.1');

         my @a = nslookup(host => 'example.com', server => [ '4.2.2.1', '128.103.1.1' ])

       By default, when doing CNAME, MX, and NS lookups, "nslookup" returns names, not addresses.
       This is a change from versions prior to 2.0, which always tried to resolve names to
       addresses.  Pass the recurse => 1 flag to "nslookup" to have it follow CNAME, MX, and NS
       lookups.  Note that this usage of "recurse" is not consistent with the official DNS
       meaning of recurse.

           # returns soemthing like ("mail.example.com")
           my @mx = nslookup(domain => 'example.com', type => 'MX');

           # returns soemthing like ("127.0.0.1")
           my @mx = nslookup(domain => 'example.com', type => 'MX', recurse => 1);

       SOA lookups return the SOA record in the same format as the `host` tool:

           print nslookup(domain => 'example.com', type => 'SOA');
           dns1.icann.org. hostmaster.icann.org. 2011061433 7200 3600 1209600 3600

TIMEOUTS

       Lookups timeout after 15 seconds by default, but this can be configured by passing timeout
       => X to "nslookup".

DEBUGGING

       Pass debug => 1 to "nslookup" to emit debugging messages to STDERR.

AUTHOR

       darren chamberlain <darren@cpan.org>