Haineko::DNS - Tiny resolver class
Haineko::DNS provide methods for resolving internet domain such as A, MX, NS, and TXT resource record.
use Haineko::DNS; my $e = Haineko::DNS->new('example.org'); # Target domain name is example.org my $v = $e->resolve('a'); # Resolve A resource record
new( Domain Name )
new() is a constructor of Haineko::DNS
new()
use Haineko::DNS; my $e = Haineko::DNS->new('example.org'); map { $e->resolve( $_ ) } ( qw|a mx ns txt| ); warn Data::Dumper::Dumper $e; $VAR1 = bless( { 'NS' => [ { 'exp' => 1384606375, 'p' => 0, 'ttl' => 72657, 'rr' => 'a.iana-servers.net' }, { 'exp' => 1384606375, 'p' => 0, 'ttl' => 72657, 'rr' => 'b.iana-servers.net' } ], 'MX' => [], 'A' => [ { 'exp' => 1384572613, 'p' => 0, 'ttl' => 38895, 'rr' => '93.184.216.119' } ], 'name' => 'example.org', 'TXT' => [ { 'exp' => 1384533778, 'p' => 0, 'ttl' => 60, 'rr' => 'v=spf1 -all' }, { 'exp' => 1384533778, 'p' => 0, 'ttl' => 60, 'rr' => '$Id: example.org 1924 2013-10-21 04:00:42Z dknight $' } ] }, 'Haineko::DNS' );
resolve(Type)
resolve() set resource records of specified type into the object .
resolve()
use Haineko::DNS; my $e = Haineko::DNS->new('example.org'); my $v = $e->arr; my $w = $e->mxrr; print for @$v; # 93.184.216.119 print for @$w; #
rr(Type)
rr() returns the list of resource records as an array reference
rr()
use Haineko::DNS; my $e = Haineko::DNS->new('gmail.com'); my $v = $e->rr('MX'); print for @$v; # gmail-smtp-in.l.google.com,alt1.gmail-smtp-in.l.google.com, # alt2.gmail-smtp-in.l.google.com,alt3.gmail-smtp-in.l.google.com, # alt4.gmail-smtp-in.l.google.com $e = Haineko::DNS->new('perl.org'); $v = $e->rr('A'); print for @$v; # 207.171.7.53, 207.171.7.43
arr()
arr() is an alias for rr('A');
rr('A');
mxrr()
mxrr() is an alias for rr('MX');
rr('MX');
nsrr()
nsrr() is an alias for rr('NS');
rr('NS');
txtrr()
txtrr() is an alias for rr('TXT');
rr('TXT');
https://github.com/azumakuniyuki/Haineko
azumakuniyuki <perl.org [at] azumakuniyuki.org>
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Haineko, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Haineko
CPAN shell
perl -MCPAN -e shell install Haineko
For more information on module installation, please visit the detailed CPAN module installation guide.