#!/usr/bin/env perl $|++; use WWW::Mechanize; use Acme::Geo::Whitwell::Name qw(to_whitwell); while(1) { print "Enter zip code, or carriage return to exit "; my $zipcode = ; chomp $zipcode; last unless $zipcode; if ($zipcode !~ /\d{5}/) { print "That doesn't look like a zip code. Try again.\n"; next; } my $agent = WWW::Mechanize->new; $agent->get("http://geocoder.us/service/csv/geocode?zip=$zipcode"); my @values = split /,\s+/, $agent->content; if (@values) { my @names = to_whitwell(@values[0..1]); print "Zip code $zipcode is $values[2], $values[3]: '$names[0]' or '$names[1]'\n"; print "Waiting 15 seconds for geocoder.us\n"; sleep(15); } else { print "Can't find anything for zip '$zipcode'. Try another.\n"; next; } }