use NetAddr::IP; my $space = new NetAddr::IP->new('10.128.0.0/17'); for my $ip (map { new NetAddr::IP->new($_) } <DATA>) { print $ip, "\n" if $space->contains($ip); } __DATA__ 172.16.1.1 172.16.1.5 172.16.1.11 172.16.1.10 172.16.1.9 172.16.1.3 172.16.1.2 172.16.1.7 172.16.1.4 172.16.1.1 10.128.0.1 10.128.0.12 10.128.0.13 10.128.0.41 10.128.0.17 10.128.0.19