http://www.perlmonks.org?node_id=542904


in reply to Getting Locations using Distance

Take a look at Geo::PostalCode. It should do most of what you need; I use it for an application very similar to yours.