I use your module Geo::IPfree 0.2 with awstats and i see many mistakes in ip database.
Example
213.248.60.120 - server really located at Moscow, Russia
In db i see wrong record
EU: 213.248.32.0 213.248.105.255
$ whois -r 213.248.60.120
[skipped]
inetnum: 213.248.32.0 - 213.248.63.255
netname: DINET-GLOBAL
descr: Digital Networks IPv4 Addr Block
descr: JSC "Digital Networks", MSM ltd.
descr: Moscow, Russia
country: RU
[skipped]
82.179.207.3 - server really located at Moscow, Russia
In db wrong record
US: 82.0.0.0 126.255.255.255
$ whois -r 82.179.207.3
[skipped]
inetnum: 82.179.207.0 - 82.179.207.255
netname: PLUSINFO-KUZMINKI-001
descr: Technopark of innovations in science and education
descr: Moscow, Russia
country: RU
[skipped]
What you use as source for database?
I think what info from RIPE database more precise than db from Geo::IPfree
You may use this scripts to get info from RIPE and update Geo::IPfree database:
http://www.lexa.ru/programs/runetworks.html
ftp://ftp.lexa.ru/pub/domestic/lexa/runetworks.tar.gz
--
Anton V. Yuzhaninov