use Socket; sub next_subnet { my ($network, $subnet) = @_; my $inet = unpack('N', inet_aton($network)); my $mask = unpack('N', inet_aton($netmask)); my $ones = unpack('N', inet_aton('255.255.255.255')); my $size = ($ones ^ $mask) + 1; my $next = $inet + $size; return inet_ntoa(pack('N', $next)); }