NAME
DNS::Unbound - A Perl interface to NLNetLabs’s Unbound
SYNOPSIS
my $unbound = DNS::Unbound->new()->set_option( verbosity => 2 );
my $result = $unbound->resolve( 'cpan.org', 'A' );
DESCRIPTION
This library implements recursive DNS queries via a popular C-based resolver library.
METHODS
CLASS->new()
Instantiates this class.
$result_hr = OBJ->resolve( $NAME, $TYPE [, $CLASS ] )
Runs a query. Returns a reference to a hash with members qname
, qtype
, qclass
, data
, canonname
, rcode
, havedata
, nxdomain
, secure
, bogus
, why_bogus
, and ttl
. See libunbound(3) for details.
NOTE: Members of data
are in their DNS-native encodings. (libunbound doesn’t track which record type uses which encoding, so neither does DNS::Unbound.) To decode some common record types, see "CONVENIENCE FUNCTIONS" below.
CONVENIENCE FUNCTIONS
Note that Socket provides inet_ntoa()
and inet_ntop
functions for decoding A
and AAAA
records.
The following may be called either as object methods or as static functions (but not as class methods):
$decoded = decode_name($encoded)
Decodes a DNS name. Useful for, e.g., NS
query results.
Note that this will normally include a trailing .
because of the trailing NUL byte in an encoded DNS name.
$strings_ar = decode_character_strings($encoded)
Decodes a list of character-strings into component strings, returned as an array reference. Useful for TXT
query results.
REPOSITORY
https://github.com/FGasper/p5-DNS-Unbound
1;