use Net::DNS::Resolver; my $res = Net::DNS::Resolver->new( nameservers => [qw(10.0.5.10)], # specify your own here udp_timeout => 2, retry => 1, #debug => 1, ); my $host = '123.123.123.123'; if (my $pkt = $res->query($host)) { for my $answer ( $pkt->answer() ) { my $type = $answer->type(); if ($type eq "PTR") { print $answer->ptrdname(), "\n"; } elsif ($type eq "A") { print $answer->name(), "\n"; } } }