use strict; use warnings; use Net::Netmask; my $spec = ...; my $block = Net::Netmask->new2($spec) or die "bad spec"; my $base = $block->base; my $bcast = $block->broadcast; my @ip = $block->enumerate; for (@ip) { next if @ip > 1 and $_ eq $base; next if @ip > 1 and $_ eq $bcast; ... }