use Net::IP; $i=new Net::IP("$ARGV[0]-$ARGV[1]"); @l=$i->find_prefixes(); foreach(@l){ ($i,$m)=split("/"); $i=new Net::IP($i); print$i->short()."/$m\n"; } #### 192.168.1.0/24 192.168.2.0/25 192.168.2.128/31 192.168.2.130/32