use NetAddr::IP; #$hosts= '172.21.3.128-172.21.3.140;10.1.1.1;192.168.0.1/8'; #$hosts= '172.21.3.128-172.21.3.140;10.1.1.1;10.0.0.0/30'; push @hosts, split ';', $hosts; for my $cidr( @hosts ) { print "$cidr\n"; my $n = NetAddr::IP->new( $cidr ); for my $ip( @{$n->hostenumref} ) { print "\t", $ip->addr, "\n"; } }