6 my @ints = ([ 0, (1 << 32)-1 ]);
10 say join(' ', map { $_->[0] . '-' . $_->[1] } @ints);
11 my ($lo, $hi) = split /-/;
12 say "blacklisting $lo-$hi";
16 if ($int->[0] < $lo && $int->[1] > $hi) {
17 splice @ints, $i, 1, [ $int->[0], $lo-1 ], [ $hi+1, $int->[1] ];
19 } elsif ($int->[0] < $lo && $int->[1] >= $lo && $int->[1] <= $hi) {
20 splice @ints, $i, 1, [ $int->[0], $lo-1 ];
22 } elsif ($int->[0] >= $lo && $int->[1] <= $hi) {
24 } elsif ($int->[0] >= $lo && $int->[0] <= $hi && $int->[1] > $hi) {
25 splice @ints, $i, 1, [ $hi+1, $int->[1] ];
27 } elsif ($int->[0] > $hi) {
37 $sum += $i->[1]-$i->[0]+1;