Server IP : 85.214.239.14 / Your IP : 18.218.5.216 Web Server : Apache/2.4.62 (Debian) System : Linux h2886529.stratoserver.net 4.9.0 #1 SMP Tue Jan 9 19:45:01 MSK 2024 x86_64 User : www-data ( 33) PHP Version : 7.4.18 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare, MySQL : OFF | cURL : OFF | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /proc/2/root/proc/3/root/proc/3/cwd/lib/x86_64-linux-gnu/perl5/5.36/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 1274 "blib/lib/NetAddr/IP.pm (autosplit into blib/lib/auto/NetAddr/IP/coalesce.al)" sub coalesce { my $masklen = shift; if (ref $masklen && ref $masklen eq __PACKAGE__ ) { # if called as a method push @_,$masklen; $masklen = shift; } my $number = shift; # Addresses are at @_ return [] unless @_; my %ret = (); my $type = $_[0]->{isv6}; return [] unless defined $type; for my $ip (@_) { return [] unless $ip->{isv6} == $type; $type = $ip->{isv6}; my $n = NetAddr::IP->new($ip->addr . '/' . $masklen)->network; if ($ip->masklen > $masklen) { $ret{$n} += $ip->num + $NetAddr::IP::Lite::Old_nth; } } my @ret = (); # Add to @ret any arguments with netmasks longer than our argument for my $c (sort { $a->masklen <=> $b->masklen } grep { $_->masklen <= $masklen } @_) { next if grep { $_->contains($c) } @ret; push @ret, $c->network; } # Now add to @ret all the subnets with more than $number hits for my $c (map { new NetAddr::IP $_ } grep { $ret{$_} >= $number } keys %ret) { next if grep { $_->contains($c) } @ret; push @ret, $c; } return \@ret; } # end of NetAddr::IP::coalesce 1;