#!/usr/bin/perl use strict; use warnings; my $start = '10.10.0.0'; my $stop = '10.10.0.0'; my $snm = '255.255.0.0'; my $cidr = '255.255.255.252'; my $end = '0.0.0.3'; my $group = 4; my $group_counter = 0; if( $start eq $stop ){ my @tmp = split /\./, $stop; for( reverse 0..3 ){ if( $tmp[$_] != 0 ){ $tmp[$_]++; last; } } $stop = join ".", @tmp; } my @first_ip = split /\./, $start; my @second_ip = split /\./, $stop; while(1){ last if join( ".", @first_ip ) eq $stop; $group_counter++; print sprintf "%s %s %s %s\n", join(".", @first_ip),$snm,$cidr,$end; $first_ip[-1]++; for( reverse 1..3 ){ if( $first_ip[$_] == 256 ){ $first_ip[$_-1] += 1; $first_ip[$_] = 0; } } if( $group_counter == 4 ){ print "-" x 40, "\n"; $group_counter = 0 ; } }