#!/usr/bin/perl -w -- use strict; # # Set to 1 to remove from generated list, 0 to leave in # my $nonetwork = 1; my $nogateway = 1; my $nobroadcast = 1; my $block = '192.168.1.32'; my $cidr = 28; my $machines = 2**(32 - $cidr); my $lip = unpack("N", pack("C4", split(/\D/, $block, 4))); # # Assumes gateway is at beginning, not end, of block # for (my $i = ($nonetwork + $nogateway); $i < ($machines - $nobroadcast); $i++) my $res = $lip + $i; print(join('.', unpack("C4", pack("N", $res))), "\n"); }