1#!/usr/local/bin/perl
2
3# /examples/pre_parse.pl
4# Demo script for Lingua::EN::AddressParse.pm
5
6use strict;
7use Lingua::EN::AddressParse;
8
9
10my %args =
11(
12   country     => 'Australia',
13   auto_clean  => 1,
14   force_case  => 1,
15);
16
17
18my $address = Lingua::EN::AddressParse->new(%args);
19
20while (<DATA>)
21{
22    chomp($_);
23    my $input = correct($_);
24	my $error = $address->parse($input);
25
26    print("-" x 50,"\n", $address->report);
27}
28
29#------------------------------------------------------------------------------
30# Correct common typing errors to make address more well formed
31sub correct
32{
33    my ($address) = @_;
34
35    # Fix badly formed   abbreviations
36    $address =~ s|CSEWY|CAUSEWAY|;
37    $address =~ s|Csewy|Causeway|;
38    $address =~ s|LVL|LEVEL|;
39    $address =~ s|Lvl|Level|;
40
41
42    # Fix badly formed number dividers sush as 14/ 12, 2- 7A
43    $address =~ s|/ |/|;
44    $address =~ s| /|/|;
45    $address =~ s|- |-|;
46    $address =~ s| -|/|;
47    $address =~ s|,| |;
48
49    return($address);
50}
51
52
53__DATA__
54LVL 2 12 Moore Park Road WODIN NSW 2600
55SHED 23/12 A STREET WODIN NSW 2600 AUSTRALIA
5623B/ 14C SOUTH HEAD ROAD WODIN NSW 2600 AUSTRALIA
57PO BOX 222 FINLEY NEW SOUTH WALES 2713
58U12 2 SMITH ST ULTIMO NSW 2007
59