NAME Net::IPInfoDB - Perl interface to's Geolocation XML API SYNOPSIS use Net::IPInfoDB; my $g = Net::IPInfoDB->new($key); my $c = $g->get_city(""); USAGE "Net::IPInfoDB" makes use of the free Geolocation API from Note that you'll need to register your app for a (free) API key in order to use this module. Information on the API is available at "". Basic usage follows the API petty closely: use Net::IPInfoDB; my $g = Net::IPInfoDB->new; $g->key($api_key); my $addr = $g->get_city($ip_address); Get data from the returned object via method calls: printf "%s is located at (%s, %s)\n", $addr->ip_address, $addr->latitude, $addr->longitude; These methods are detailed below. METHODS new Creates a new "Net::IPInfoDB" instance. Optionally takes a key as the first argument; if provided, will call the "key" method for you. If the $ENV{IPINFODB_TOKEN} exists, "Net::IPInfoDB" assumes it contains the token and will call "key($ENV{IPINFODB_TOKEN})" for you. key Use "key" to specify your API key. Calling "get_city" or "get_country" without specifying a key will result in a failure. get_country Returns country-level details about the host or ip address. Takes an IP address or hostname as the only argument. Returns a "Net::IPInfoDB::Result" object. get_city Returns city-level details, which is more resource-intensive on the server. If you only need the country name, avoid using the city precision API. Returns a "Net::IPInfoDB::Result" object. CACHING "Net::IPInfoDB" does *not* do any caching of responses. You should definitely cache your responses using "Cache::Cache" or something similar. Net::IPInfoDB::Results object The "get_city" and "get_country" methods return a "Net::IPInfoDB::Result" object, which has the following read-only methods, which correspond directly to the data returned: status_code status_message ip_address country_code country_name region_name city_name zip_code latitude longitude timezone There is also the following additional methods: web_uri "web_uri" returns the web URI of the IP, for fancier viewing. fields "fields" returns an array of fieldnames in the "Net::IPInfoDB::Result" object, for iteration. AUTHOR Darren Chamberlain VERSION This is version 3.0. Note that the major version of "Net::IPInfoDB" matches the API version.