NAME
Geo::IP::RU::IpGeoBase - look up location by IP address in Russia
DESCRIPTION
This module allows you to look up location in DB provided by
http://ipgeobase.ru service. Access to the DB is free. Contains
information about city, region, federal district and coordinates.
DB provided as plain text files and is not very suitable for look ups
without loading all data into memory. Instead it's been decided to
import data into a database. Use command line utility to create and
update back-end DB.
At this moment DB can be created in SQLite, mysql and Pg. If you create
table manually then probably module will just work. It's very easy to
add support for more back-end DBs. Patches are welcome.
METHODS
new
Returns a new object. Takes a hash with options, mostly description of
the back-end:
Geo::IP::RU::IpGeoBase->new( db => {
dbh => $dbh, table => 'my_table',
} );
# or
Geo::IP::RU::IpGeoBase->new( db => {
dsn => 'dbi:mysql:mydb',
user => 'root', pass => 'secret',
table => 'my_table',
} );
* dbh - connected DBI handle, or you can use dsn.
* dsn, user, pass - DSN like described in DBI, for example
'dbi:SQLite:my.db', user name and his password.
* table - name of the table with data, default is 'ip_geo_base_ru'.
find_by_ip
Takes an IP in 'xxx.xxx.xxx.xxx' format and returns information about
blocks that contains this IP. Yep, blocks, not a block. In theory DB may
contain intersecting blocks.
Each record is a hash reference with the fields matching table columns:
istart, iend, start, end, city, region, federal_district, latitude and
longitude.
AUTHOR
Ruslan Zakirov >Ruslan.Zakirov@gmail.com<
LICENSE
Under the same terms as perl itself.