in reply to Better way to check reverse DNS entries

It was in reply to a similar post to this that I was motivated to write the snippet I posted at Iterate network hosts - This subroutine of code uses the Net::Netmask module to iterate through network hosts specified by network address and subnet mask. The network address and subnet mask passed to this subroutine can take the form of separate network block and subnet masks (eg. 192.168.1.0 and 255.255.255.0) or CIDR notation (eg. 192.168.1.0/24).

For example:

#!/usr/bin/perl use Net::DNS use Net::Netmask; my $resolver = Net::DNS::Resolver->new; print $_, "\n" for grep { ! $resolver->query( $_, 'PTR' ) } ips( '81.86/16' ); sub ips { my $net = Net::Netmask->new(@_); wantarray ? $net->enumerate : \@{$net->enumerate}; }

Never should your network administration scripts be non-portable!

 

perl -le 'print+unpack("N",pack("B32","00000000000000000000001001001110"))'