in reply to Re: loop ending b4 I want it to
in thread loop ending b4 I want it to
#!/usr/bin/perl use strict; use warnings; use Carp; use Net::DNS; use Data::Dumper; my @domain = ( { NAME => 'ns7.pyxis.com', IPLIST => [] } , ## Autovivification { NAME => 'wrnadc02.na.alarismed.com', IPLIST => [] } ) ; my %IPinfo; # HoH for my $IP (qw ( 10.220.84.30 10.220.84.51 10.220.84.52 10.220.84.54 10.220.84.55 10.220.84.56 10.220.84.57 10.220.84.58 10.220.84.59 10.220.84.60 10.220.84.61 10.220.84.62 10.220.84.64 10.220.84.65 10.220.84.70 10.220.84.71 10.220.84.72 10.220.84.73 10.220.84.74 )) { $IPinfo{$IP} = {DOMAININDEX => undef, TYPE => "CLIENT" } ; } for my $ip (keys %IPinfo) { for my $domids (0..$#domain) { my $ptr = nsqry($domain[$domids]->{NAME}, $ip) ; next unless $ptr ; # No change, if $ptr is empty $IPinfo{$ip}{DOMAININDEX} = $domids ; $IPinfo{$ip}{PTR} = $ptr ; push @{$domain[$domids]->{IPLIST}}, $ip ; } } sub nsqry { my ( $nssvr, @clients ) = @_ ; my $res = Net::DNS::Resolver->new ( nameservers => [$nssvr], recurse => 1, ## do recursive lookups retry => 1, debug => 0, ) ; for my $client (@clients) { my $query = $res->search($client) ; if ($query) { for my $rr ($query->answer) { next unless ($rr->type eq "PTR"); print $rr->ptrdname, "\n" ; } } else { warn "query failed: ", $res->errorstring, "\n" ; } } } print Dumper(\@domain); $VAR1 = [ { 'NAME' => 'ns7.pyxis.com', 'IPLIST' => [] }, { 'NAME' => 'wrnadc02.na.alarismed.com', 'IPLIST' => [] } ];
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^3: loop ending b4 I want it to
by NetWallah (Canon) on Oct 30, 2007 at 05:05 UTC | |
by mikejones (Scribe) on Nov 02, 2007 at 20:06 UTC | |
by NetWallah (Canon) on Nov 04, 2007 at 07:08 UTC |