Subject: | Warming messages from Geo-StreetAddress-US-0.99 |
Date: | Tue, 13 Oct 2009 19:12:08 -0700 |
To: | bug-Geo-StreetAddress-US [...] rt.cpan.org |
From: | Al Sary <al [...] blekko.com> |
I get the following warming messages from Geo::StreetAddress:US:
Use of uninitialized value in concatenation (.) or string at
/home/al/blekko/perl/Geo/StreetAddress/US.pm line 875.
It happens when you have a city direction lower cased, eg: "1 First St, e
San Jose CA"
% perl -MData::Dumper -MGeo::StreetAddress::US -le 'print
Dumper(Geo::StreetAddress::US->parse_location("1 First St, e San Jose CA"
))'
part city=e San Jose
Use of uninitialized value in concatenation (.) or string at
/home/al/blekko/perl/Geo/StreetAddress/US.pm line 875.
$VAR1 = {
'number' => '1',
'street' => 'First',
'state' => 'CA',
'city' => ' San Jose',
'zip' => undef,
'suffix' => undef,
'type' => 'St',
'prefix' => undef
};
The fix is this:
% diff -c
cpan/Geo-StreetAddress-US-0.99/blib/lib/Geo/StreetAddress/US.pm{~,}
*** cpan/Geo-StreetAddress-US-0.99/blib/lib/Geo/StreetAddress/US.pm~
2005-05-17 07:12:46.000000000 -0700
--- cpan/Geo-StreetAddress-US-0.99/blib/lib/Geo/StreetAddress/US.pm
2009-10-13 18:48:34.000000000 -0700
***************
*** 872,878 ****
# attempt to expand directional prefixes on place names
$part->{city} =~ s/^($Addr_Match{dircode})\s+(?=\S)
! /\u$Direction_Code{$1} /iosx
if $part->{city};
# strip ZIP+4
--- 872,878 ----
# attempt to expand directional prefixes on place names
$part->{city} =~ s/^($Addr_Match{dircode})\s+(?=\S)
! /\u$Direction_Code{uc $1} /iosx
if $part->{city};
# strip ZIP+4