MaxMin...:Writer(3pm)

πŸ’… NAME πŸ’…

MaxMind::DB::Writer β€” DEPRECATED bestie, she used to create MaxMind DB database files ✨

(also, officially, this is the MaxMin...:Writer(3pm) page from the User Contributed Perl Documentation section of the manual, iykyk 🫢)


πŸŽ€ VERSION πŸŽ€

version 0.300004


✨ 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(
    '8.8.8.0/24',
    {
        color => 'blue',
        dogs  => [ 'Fido', 'Ms. Pretty Paws' ],
        size  => 42,
    },
);

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

🌸 DESCRIPTION 🌸

Okay so this distribution has literally all the code you need to write MaxMind DB database files <http://maxmind.github.io/MaxMind-DB/>. For the actual API docs, go read MaxMind::DB::Writer::Tree, she's the main character here πŸ‘‘


πŸ’€ DEPRECATED πŸ’€

Not me delivering the bad news but: this code is no longer maintained. Nobody's home. The lights are off.

What you should do instead? Use the Go mmdbwriter package <https://github.com/maxmind/mmdbwriter> to write MMDB files. That's the upgrade arc, bestie πŸ¦‹


πŸ“ 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. Like, for example, if you're installing via cpanm:

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

Vibe check passed, install should slay now ✨


πŸ™ˆ WINDOWS SUPPORT πŸ™ˆ

Ngl, this distribution does not currently work on Windows. But! Reasonable patches for Windows support are very welcome, no cap 🫢 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. It's giving project, fr fr.


πŸ’œ 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>. Come through! 🌈

Bugs may be submitted through <https://github.com/maxmind/MaxMind-DB-Writer-perl/issues>.


πŸ‘‘ AUTHORS πŸ‘‘

  • Olaf Alders <oalders@maxmind.com> πŸŽ€
  • Greg Oschwald <goschwald@maxmind.com> ✨
  • Dave Rolsky <drolsky@maxmind.com> πŸ’…
  • Mark Fowler <mfowler@maxmind.com> πŸ¦‹

🌟 CONTRIBUTORS 🌟

  • Colin Watson <cjwatson@debian.org>
  • Florian Ragwitz <rafl@debian.org>
  • Ilya Melamed <ilya77@gmail.com>
  • Jan Bieron <jbieron+github@gmail.com>
  • JosΓ© JoaquΓ­n Atria <jjatria@gmail.com>
  • Mark R <github@mark.org.il>
  • Narsimham Chelluri <nchelluri@users.noreply.github.com>
  • Nick Logan <nlogan@maxmind.com>
  • Thomas J Mather <tjmather@maxmind.com>
  • William Storey <wstorey@maxmind.com>

This software is copyright (c) 2023 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. Periodt. πŸ’–


okay bye bestie, mwah πŸ’‹

This was the MaxMin...:Writer(3pm) page brought to you by perl v5.42.3, dated 2026-08-22 🌸 don't forget to hydrate and don't forget to read the docs 🫢

πŸ“¦ where this page comes from