#!/usr/bin/env perl
use strict;
use warnings;
use LWP::Simple;
use URI::Escape;
my $appid = "(YOUR APP ID)";
while (<>) {
chomp;
my @r = address_to_latlong({key => $_, appid => $appid});
print join("\t", @r, $_)."\n";
}
sub address_to_latlong {
my ($args_ref) = @_;
my $ek = URI::Escape::uri_escape($args_ref->{key});
my $murl =
"http://geo.search.olp.yahooapis.jp/OpenLocalPlatform/V1/geoCoder"
."?appid=$args_ref->{appid}&query=$ek&datum=tky";
my $r = get($murl);
my ($lat, $long) = $r =~ m{<Coordinates>(.+?),(.+?)</Coordinates>};
return ($lat||"", $long||"");
}
(「住所の一部」でないクエリは、結果が返って来ません)% cat address2latlong-test.txt 東京都渋谷区 東京都港区 神奈川県横浜市中区 神奈川県足柄上郡山北町 こんにちは 東京タワー 東京ミッドタウン % ./address2latlong.pl address2latlong-test.txt 139.69822020 35.66403830 東京都渋谷区 139.75160740 35.65807070 東京都港区 139.64218630 35.44470240 神奈川県横浜市中区 139.08383880 35.36060800 神奈川県足柄上郡山北町 こんにちは 東京タワー 東京ミッドタウン