---
name: "IP::Geolocation::MMDB::Metadata"
section: "3pm"
platform: "linux"
package: "libip-geolocation-mmdb-perl"
version: "1.013-1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/IP::Geolocation::MMDB::Metadata"
---

# IP::Geolocation::MMDB::Metadata(3pm)

Metadata from a MaxMind DB file

## NAME

IP::Geolocation::MMDB::Metadata - Metadata from a MaxMind DB file

## VERSION

version 1.013

## SYNOPSIS

```
  use IP::Geolocation::MMDB;
  my $db = IP::Geolocation::MMDB->new(file => '/path/to/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.

## BUGS AND LIMITATIONS

None known.

## SEE ALSO

IP::Geolocation::MMDB

## AUTHOR

Andreas Vögele \<voegelas@cpan.org\>

## LICENSE AND COPYRIGHT

Copyright (C) 2025 Andreas Vögele

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