/usr/lib/x86_64-linux-gnu/perl5/5.22/auto/NetAddr/IP/_compact_v6.al is in libnetaddr-ip-perl 4.078+dfsg-1build1.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | # NOTE: Derived from blib/lib/NetAddr/IP.pm.
# Changes made here will be lost when autosplit is run again.
# See AutoSplit.pm.
package NetAddr::IP;
#line 784 "blib/lib/NetAddr/IP.pm (autosplit into blib/lib/auto/NetAddr/IP/_compact_v6.al)"
sub _compact_v6 ($) {
my $addr = shift;
my @o = split /:/, $addr;
return $addr unless @o and grep { $_ =~ m/^0+$/ } @o;
my @candidates = ();
my $start = undef;
for my $i (0 .. $#o)
{
if (defined $start)
{
if ($o[$i] !~ m/^0+$/)
{
push @candidates, [ $start, $i - $start ];
$start = undef;
}
}
else
{
$start = $i if $o[$i] =~ m/^0+$/;
}
}
push @candidates, [$start, 8 - $start] if defined $start;
my $l = (sort { $b->[1] <=> $a->[1] } @candidates)[0];
return $addr unless defined $l;
$addr = $l->[0] == 0 ? '' : join ':', @o[0 .. $l->[0] - 1];
$addr .= '::';
$addr .= join ':', @o[$l->[0] + $l->[1] .. $#o];
$addr =~ s/(^|:)0{1,3}/$1/g;
return $addr;
}
# end of NetAddr::IP::_compact_v6
1;
|