File: cmp.pl

package info (click to toggle)
libmaxmind-db-reader-xs-perl 1.000008-1
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 2,320 kB
  • sloc: perl: 3,263; ansic: 260; makefile: 3; sh: 2
file content (38 lines) | stat: -rw-r--r-- 817 bytes parent folder | download | duplicates (4)
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
#!/usr/bin/perl

use strict;
use warnings;
use Benchmark qw(:all);
our $VERSION = '0.01';

my @ips = map {
    join '.',
        map { int( rand(256) ) } 1 .. 4
} ( 1 .. 5_000 );

use MaxMind::DB::Reader;
use MaxMind::DB::Reader::XS;
use Data::Dumper;
use Data::Compare;

my $file = '/usr/local/share/GeoIP2/city-v6.db';

my $reader = MaxMind::DB::Reader->new( file => $file ) or die;
my $reader_xs = MaxMind::DB::Reader::XS->new( file => $file ) or die;

for my $ip (@ips) {

    # reader dies unfortunately for private IP's
    my $r = eval { $reader->record_for_address($ip) };
    my $rxs = $reader_xs->record_for_address($ip);

    unless ( Compare( $r, $rxs ) ) {

        print "reader and reader_xs results differ for $ip\n";
        print Dumper($r);
        print Dumper($rxs);

        #    exit;

    }
}