Net-IP-Match-Bin
view release on metacpan or search on metacpan
lib/Net/IP/Match/Bin/Perl.pm view on Meta::CPAN
# properties: 0, 1, and code. The code is the return value for a
# match.
for ( my $i = 0; $i < @map; $i += 2 ) {
my $range = $map[ $i ];
my $match = $map[ $i + 1 ];
if ($match eq "-1") {
$match = "$range";
}
my ( $ip, $mask ) = split m/\//xms, $range;
if (! defined $mask) {
$mask = 32; ## no critic(MagicNumbers)
}
my $tree = $self->{Tree}; # root
my $addr = unpack 'N', pack 'C4', split /[.]/, $ip;
for (my $i = 0; $i < $mask; $i++) {
my $bit = $addr & $BITS[$i] ? 1 : 0;
unless (defined $tree->[$bit]) {
( run in 0.884 second using v1.01-cache-2.11-cpan-71847e10f99 )