NAME

Lingua::EN::NameParse - routines for manipulating a person's name

SYNOPSIS

use Lingua::EN::NameParse qw(clean case_surname);

# optional configuration arguments
my %args =
(

        auto_clean      => 1,
        force_case      => 1,
        lc_prefix       => 1,
        initials        => 3,
        allow_reversed  => 1,
        joint_names     => 0,
        extended_titles => 0

);

my $name = new Lingua::EN::NameParse(%args);

$error = $name->parse("MR AC DE SILVA");

%name_comps = $name->components;
$surname = $name_comps{surname_1}; # DE SILVA

$correct_casing = $name->case_all; # Mr AC de Silva

$correct_casing = $name->case_all_reversed ; # de Silva, AC

$good_name = &clean("Bad Na9me "); # "Bad Name"

$salutation = $name->salutation(salutation => 'Dear',sal_default => 'Friend')); # Dear Mr de Silva

%my_properties = $name->properties; $number_surnames = $my_properties{number}; # 1 $bad_input = $my_properties{non_matching};

$name->report; # create a report listing all information about the parsed name

$lc_prefix = 0;
$correct_case = &case_surname("DE SILVA-MACNAY",$lc_prefix); # De Silva-MacNay

DESCRIPTION

This module takes as input a person or persons name in free format text such as,

Mr AB & M/s CD MacNay-Smith
MR J.L. D'ANGELO
Estate Of The Late Lieutenant Colonel AB Van Der Heiden

and attempts to parse it. If successful, the name is broken down into components and useful functions can be performed like :

If the name cannot be parsed you have the option of cleaning the name of bad characters, or extracting any portion that was parsed and the portion that failed.

This module can be used for analysing and improving the quality of lists of names.

REQUIRES

Parse::RecDescent

HOW TO INSTALL

perl Makefile.PL
make
make test
make install

AUTHOR

NameParse was written by Kim Ryan, kimryan at cpan dot org

COPYRIGHT AND LICENSE

Copyright (c) 2011 Kim Ryan. All rights reserved. This program is free software; you can redistribute it and/or modify it under the terms of the Perl Artistic License (see http://www.perl.com/perl/misc/Artistic.html).