my @rhrbl = ( { list => 'multi.surbl.org', bad => '4', good => '0', out => 'SURBL', }, { list => 'rhsbl.ahbl.org', bad => '1.8', good => '0', out => 'AHBL', }, { list => 'dsn.rfc-ignorant.org', bad => '3.2', good => '-1.2', out => 'DSN_RFCI', }, { list => 'postmaster.rfc-ignorant.org', bad => '0.1', good => '0', out => 'PM_RFCI', }, { list => 'abuse.rfc-ignorant.org', bad => '0.1', good => '0', out => 'ABUSE_RFCI', } ); sub rhrbl_check($) { my $tocheck = shift(); my $res = Net::DNS::Resolver->new; foreach my $list (@rhrbl) { print $list; my $search = $tocheck.".". $rhrbl[$list]{list}; print $search; my $query = $res->search($search); if ($query) { foreach my $rr ($query->answer) { next unless $rr->type eq "A"; } } else { warn "query failed: ", $res->errorstring, "\n"; } } } rhrbl_check("ned.snow-crash.org");