Business::US::USPS::WebTools::AddressStandardization - canonicalize a US address
use Business::US::USPS::WebTools::AddressStandardization; my $verifier = Business::US::USPS::WebTools::AddressStandardization->new( { UserID => $ENV{USPS_WEBTOOLS_USERID}, Password => $ENV{USPS_WEBTOOLS_PASSWORD}, Testing => 1, } ); my $hash = $verifier->verify_address( FirmName => '', Address1 => '', Address2 => '6406 Ivy Lane', City => 'Greenbelt', State => 'MD', Zip5 => '', Zip4 => '', ); if( $verifier->is_error ) { warn "Oh No! $verifier->{error}{description}\n"; } else { print join "\n", map { "$_: $hash->{$_}" } qw(FirmName Address1 Address2 City State Zip5 Zip4 DeliveryPoint CarrierRoute ReturnText); }
*** THIS IS ALPHA SOFTWARE ***
This module implements the Address Standardization web service from the US Postal Service. It is a subclass of Business::US::USPS::WebTools.
The verify_address method takes the following keys, which come directly from the USPS web service interface:
verify_address
FirmName The name of the company Address1 The suite or apartment Address2 The street address City The name of the city State The two letter state abbreviation Zip5 The 5 digit ZIP code Zip4 The 4 digit extension to the ZIP code
It returns an anonymous hash with the same keys, but the values are the USPS's canonicalized address, plus three additional keys:
DeliveryPoint The 2 digit extension to the ZIP+4 code CarrierRoute The 4 character postal carrier route ReturnText An error message when multiple addresses are found
If there is an error, the hash values will be the empty string, and the error flag is set. Check is with is_error:
is_error
$verifier->is_error;
See the is_error documentation in Business::US::USPS::WebTools for more details on error information.
Business::US::USPS::WebTools
The WebTools API is documented on the US Postal Service's website:
https://www.usps.com/business/web-tools-apis/address-information-api.pdf
This source is in GitHub:
https://github.com/ssimms/business-us-usps-webtools
brian d foy
Steve Simms
Copyright © Steve Simms. All rights reserved.
This program is free software; you can redistribute it and/or modify it under the terms of the Artistic License 2.0.
To install Business::US::USPS::WebTools, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Business::US::USPS::WebTools
CPAN shell
perl -MCPAN -e shell install Business::US::USPS::WebTools
For more information on module installation, please visit the detailed CPAN module installation guide.