in reply to Re^3: How to make Geo::Coder::Google run even if input location doesn't exist
in thread How to make Geo::Coder::Google run even if input location doesn't exist
Still when using "eval" and "$@" I get: "Can't use an undefined value as an ARRAY reference at geoTest.pl line 32." I suppose this refers to " @{ $response->{Point}{coordinates} }". The code looks like this:
#!/usr/bin/perl -w use strict; use locale; use warnings; #use diagnostics; use utf8; binmode(STDIN, "encoding(utf8)"); binmode(STDOUT, "encoding(utf8)"); binmode(STDERR, "encoding(utf8)"); use Geo::Coder::Google; my @place = ('Seattle', 'France', 'CorseMétéo', 'New Delhi'); my ($long, $lat); foreach my $place(@place){ my $geocoder = Geo::Coder::Google->new(apikey => '{MyAPIkeyHere}') +; my $response; until (defined $@ || defined $response){ eval{ $response = $geocoder->geocode(location => $place); } } if ($@){ print "Couldn't get location\n"; } ($long, $lat) = @{ $response->{Point}{coordinates} }; print "$long\n"; print "$lat\n"; }
|
|---|
| Replies are listed 'Best First'. | |
|---|---|
|
Re^5: How to make Geo::Coder::Google run even if input location doesn't exist
by Corion (Patriarch) on Mar 01, 2013 at 09:04 UTC | |
by M15U (Acolyte) on Mar 01, 2013 at 09:44 UTC | |
by AnomalousMonk (Archbishop) on Mar 01, 2013 at 16:03 UTC | |
by AnomalousMonk (Archbishop) on Mar 01, 2013 at 17:14 UTC | |
by M15U (Acolyte) on Mar 04, 2013 at 17:08 UTC |