ferrancy has almost certainly hit the nail on the head. A bit of simple testing with the following program:
my $b = new2 Net::Netmask( '188.8.131.52 - '.shift(@ARGV).'.255.255.255')
or die "Argh: $Net::Netmask::error";
print map "$_\n", $b->base, $b->mask, $b->size, $b->next;
..shows that it can't deal with many of the ranges around there, ("could not fine exact fit for...") but erroneously thinks that it finds one with a range of 184.108.40.206 - 220.127.116.11 when you ask it for your particular case, 18.104.22.168 - 22.214.171.124! Why it does that instead of erroring out, I don't know; my guess is that t'is a bug.
perl -pe '"I lo*`+$^X$\"$]!$/"=~m%(.*)%s;$_=$1;y^`+*^e v^#$&V"+@( NO CARRIER'