NAME
IP::Geolocation::MMDB::Metadata - Metadata from a MaxMind DB file
VERSION
version 1.004
SYNOPSIS
use IP::Geolocation::MMDB;
my $db = IP::Geolocation::MMDB->new(file => 'City.mmdb');
my $metadata = $db->metadata;
DESCRIPTION
A class for metadata from a MaxMind DB file.
SUBROUTINES/METHODS
new
my $metadata = IP::Geolocation::MMDB::Metadata->new(
binary_format_major_version => 2,
binary_format_minor_version => 0,
build_epoch => time,
database_type => 'City',
languages => [qw(en fr pt-BR)],
description => {
en => 'IP to city',
fr => 'IP vers ville',
},
ip_version => 6,
node_count => 3829268,
record_size => 28,
);
Returns a new metadata object.
binary_format_major_version
my $major_version = $metadata->binary_format_major_version;
Returns the database format's major version number.
binary_format_minor_version
my $minor_version = $metadata->binary_format_minor_version;
Returns the database format's minor version number.
build_epoch
my $t = gmtime $metadata->build_epoch;
Returns the database's build timestamp as an epoch number.
database_type
my $database_type = $metadata->database_type;
Returns a free-form string indicating the database type.
languages
for my $language (@{$metadata->languages}) {
say $language;
}
Returns a reference to an array of locale codes indicating what languages this database has information for.
description
my %description_for = %{$metadata->description};
for my $language (keys %description_for) {
my $description = $description_for{$language};
say "$language: $description";
}
Returns a reference to a hash that maps locale codes to strings that describe the database content.
ip_version
my $ip_version = $metadata->ip_version;
Returns 4 or 6.
node_count
my $node_count = $metadata->node_count;
Returns the number of nodes in the database's search tree.
record_size
my $record_size = $metadata->record_size;
Returns the record size for nodes in the database's search tree.
DIAGNOSTICS
None.
CONFIGURATION AND ENVIRONMENT
None.
DEPENDENCIES
None.
INCOMPATIBILITIES
None.
SEE ALSO
AUTHOR
Andreas Vögele <voegelas@cpan.org>
BUGS AND LIMITATIONS
None known.
LICENSE AND COPYRIGHT
Copyright 2022 Andreas Vögele
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.