ferrancy has almost certainly hit the nail on the head. A bit of simple testing with the following program:
my $b = new2 Net::Netmask( '18.104.22.168 - '.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 22.214.171.124 - 126.96.36.199 when you ask it for your particular case, 188.8.131.52 - 184.108.40.206! 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'