sub mask_short_to_long3 { my $mask = shift; my @octets = (0,0,0,0); for (@octets) { $_ = $mask > 8 ? 255 : 256 - 2**(8-$mask); $mask = $mask > 8 ? $mask -8 : 0; } join '.', @octets; }