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;