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 2.122 seconds using v1.01-cache-2.11-cpan-71847e10f99 )