in reply to geocoding problem

Assuming you have a valid apikey, the problem may be that Google does not like the LWP::UserAgent user agent string. Does it work if you add this after your call to new (untested):

$geocoder->ua->agent('Mozilla/5.0');