IP::Cou...MaxMind(3)

πŸ“¦ version 2.28, in opensuse-leap 16.0

okay bestie, welcome to IP::Cou...MaxMind(3) from the User Contributed Perl Documentation manual πŸ’– this page is all about looking up a country by IP address, and yes it’s giving old-school Perl but make it cute.

✨ NAME ✨

  • IP::Country::MaxMind β€” Look up country by IP Address 🌍

πŸ¦‹ SYNOPSIS πŸ¦‹

       use IP::Country::MaxMind;

       my $gi = IP::Country::MaxMind->new(GEOIP_STANDARD);

       # look up IP address '65.15.30.247'
       # returns undef if country is unallocated, or not defined in our database
       my $cc1 = $gi->inet_atocc('65.15.30.247');
       my $cc2 = $gi->inet_atocc('yahoo.com');

🌸 DESCRIPTION 🌸

This module adapts the Geo::IP module so it uses the same interface as the IP::Country modules 🫢 which means you can easily switch between the two underlying databases without your whole life falling apart. iconic, honestly.

πŸ’Ύ DATABASE UPDATES πŸ’Ύ

Free monthly updates to the database are available from:

http://www.maxmind.com/download/geoip/database/

If you require greater accuracy, MaxMind offers a Premium database on a paid subscription basis πŸ’Έ

The author of this module is in no way associated with MaxMind. no cap, just making that clear 🫑

πŸŽ€ CLASS METHODS πŸŽ€

πŸ’… $gi = IP::Country::MaxMind->new( $flags );

Constructs a new IP::Country::MaxMind object with the default database located inside your system’s datadir, typically /usr/local/share/GeoIP/GeoIP.dat ✨

Flags can be set to either GEOIP_STANDARD, or for faster performance β€” at the cost of using more memory β€” GEOIP_MEMORY_CACHE πŸ”₯ When using memory cache you can force a reload if the file is updated by setting GEOIP_CHECK_CACHE.

So the flag vibe check is:

  • GEOIP_STANDARD β€” the standard mode.
  • GEOIP_MEMORY_CACHE β€” faster performance, but it uses more memory.
  • GEOIP_CHECK_CACHE β€” when using memory cache, force a reload if the file is updated.

πŸ’… $gi = IP::Country::MaxMind->open( $database_filename, $flags );

Constructs a new Geo::IP object with the database located at $database_filename πŸ—‚οΈ yes bestie, Geo::IP is exactly what it says.

πŸ’… OBJECT METHODS πŸ’…

All object methods are designed to be used in an object-oriented fashion πŸ‘‘

       $result = $object->foo_method($bar,$baz);

Using the module in a procedural fashion (without the arrow syntax) won’t work. periodt.

  • $cc = $gi->inet_atocc(HOSTNAME) β€” Takes a string giving the name of a host, and translates that into a two-letter country code 🌍 Takes arguments of both the 'rtfm.mit.edu' type and '18.181.0.24'. If the host name cannot be resolved, returns undef. If the resolved IP address is not contained within the database, returns undef.
  • $cc = $gi->inet_ntocc(IP_ADDRESS) β€” Takes a string (an opaque string as returned by Socket::inet_aton()) and translates it into a two-letter country code. If the IP address is not contained within the database, returns undef πŸ’€
  • $cc = $gi->db_time() β€” Returns zero. For compatibility only 🫢

Copyright (C) 2002,2003 Nigel Wetters Gourlay. All Rights Reserved.

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

and that’s the whole manual page, bestie 🫢 β€” IP::Cou...MaxMind(3) came from perl v5.42.0, dated 2015-04-14. slay ✨

πŸ“¦ where this page comes from