Skip to content

DeanWei/MaxMind-DB-Writer-perl

 
 

Repository files navigation

NAME

MaxMind::DB::Writer - Create MaxMind DB database files

VERSION

version 0.201000

SYNOPSIS

use MaxMind::DB::Writer::Tree;

my %types = (
    color => 'utf8_string',
    dogs  => [ 'array', 'utf8_string' ],
    size  => 'uint16',
);

my $tree = MaxMind::DB::Writer::Tree->new(
    ip_version            => 6,
    record_size           => 24,
    database_type         => 'My-IP-Data',
    languages             => ['en'],
    description           => { en => 'My database of IP data' },
    map_key_type_callback => sub { $types{ $_[0] } },
);

$tree->insert_network(
    '2001:db8::/48',
    {
        color => 'blue',
        dogs  => [ 'Fido', 'Ms. Pretty Paws' ],
        size  => 42,
    },
);

open my $fh, '>:raw', '/path/to/my-ip-data.mmdb';
$tree->write_tree($fh);

DESCRIPTION

This distribution contains the code necessary to write MaxMind DB database files. See MaxMind::DB::Writer::Tree for API docs.

MAC OS X SUPPORT

If you're running into install errors under Mac OS X, you may need to force a build of the 64 bit binary. For example, if you're installing via cpanm:

ARCHFLAGS="-arch x86_64" cpanm MaxMind::DB::Writer

WINDOWS SUPPORT

This distribution does not currently work on Windows. Reasonable patches for Windows support are very welcome. You will probably need to start by making Math::Int128 work on Windows, since we use that module's C API for dealing with 128-bit integers to represent IPv6 addresses numerically.

SUPPORT

Please report all issues with this code using the GitHub issue tracker at https://github.com/maxmind/MaxMind-DB-Writer-perl/issues.

We welcome patches as pull requests against our GitHub repository at https://github.com/maxmind/MaxMind-DB-Writer-perl.

AUTHORS

CONTRIBUTORS

COPYRIGHT AND LICENSE

This software is copyright (c) 2016 by MaxMind, Inc.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.

Packages

No packages published

Languages

  • Perl 44.2%
  • C++ 31.6%
  • C 22.7%
  • XS 1.4%
  • Shell 0.1%