sub get_boundaries { my ($ip, $bits) = split /\//, $_[0]; my $b_ip = pack "C4", split /\./, $ip; my $b_mask = pack "B32", 1 x $bits; my $b_net = $b_ip & $b_mask; my $b_bcast = $b_ip | ~ $b_mask; unpack("N", $b_net), unpack("N", $b_bcast); }