Geo::Address::Mail::Standardizer - A role for Geo::Address::Mail standardization
This module provides an interface for writing address standardization as well as a class to represent the results of a standarization process.
package Geo::Address::Mail::Standardizer::My; use Moose; with 'Geo::Address::Mail::Standardizer'; # use it my $std = Geo::Address::Mail::Standardizer::My->new(...); my $address = Geo::Address::Mail::MyCountry; my $results = $std->standardize($address);
This module provides a simple API. Your Standardizer implementation is likely for a specific locale such as the US, UK or whatever. You should provide a standardize method that accepts the appropriate subclass (Geo::Address::Mail::YourCountry). You would then use the information in the supplied address object with your standardization mechanism. You should not change the argument. Instead, create a new Address object and use it with the Geo::Address::Mail::Standardizer::Results object, setting any changed values:
standardize
sub standardize { my ($self, $address) = @_; # contact the USPS or your local postal service in your country # or implement some algorithm or whatever my $results = Geo::Address::Mail::Standardizer::Results->new; my $new_addr = $address->clone; for(...) { # iterate over the results of your standardization mechanism $results->set_changed($field, $new_value) if $changed; $new_addr->$field($new_value); } return $results; }
Cory G Watson, <gphat at cpan.org>
<gphat at cpan.org>
Copyright 2010 Cory G Watson.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.
To install Geo::Address::Mail::Standardizer, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Geo::Address::Mail::Standardizer
CPAN shell
perl -MCPAN -e shell install Geo::Address::Mail::Standardizer
For more information on module installation, please visit the detailed CPAN module installation guide.