| Server IP : 23.254.227.96 / Your IP : 216.73.216.183 Web Server : Apache/2.4.62 (Unix) OpenSSL/1.1.1k System : Linux hwsrv-1277026.hostwindsdns.com 4.18.0-477.13.1.el8_8.x86_64 #1 SMP Tue May 30 14:53:41 EDT 2023 x86_64 User : viralblo ( 1001) PHP Version : 8.1.31 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /lib64/perl5/vendor_perl/auto/NetAddr/IP/ |
Upload File : |
# 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 789 "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;