Lingua::EN::NameCase3pm
Correctly case a person's name from upercase or lowcase
Usage
# Working with scalars; complementing lc and uc.use Lingua::EN::NameCase qw( nc );$FixedCasedName = nc( $OriginalName );$FixedCasedName = nc( \$OriginalName );# Working with arrays or array references.use Lingua::EN::NameCase 'NameCase';$FixedCasedName = NameCase( $OriginalName );@FixedCasedNames = NameCase( @OriginalNames );$FixedCasedName = NameCase( \$OriginalName );@FixedCasedNames = NameCase( \@OriginalNames );NameCase( \@OriginalNames ) ; # In-place.# NameCase will not change a scalar in-place, i.e.NameCase( \$OriginalName ) ; # WRONG: null operation.$Lingua::EN::NameCase::SPANISH = 1;# Now 'El' => 'El' instead of (default) Greek 'El' => 'el'.# Now 'La' => 'La' instead of (default) French 'La' => 'la'.$Lingua::EN::NameCase::HEBREW = 0;# Now 'Aharon BEN Amram Ha-Kohein' => 'Aharon Ben Amram Ha-Kohein'# instead of (default) => 'Aharon ben Amram Ha-Kohein'.$Lingua::EN::NameCase::ROMAN = 0;# Now 'Li' => 'Li' instead of (default) 'Li' => 'LI'.$Lingua::EN::NameCase::POSTNOMINAL = 0;# Now 'PHD' => 'PhD' instead of (default) 'PHD' => 'Phd'.
Version
Version 1.21
Overview
Forenames and surnames are often stored either wholly in UPPERCASE or wholly in lowercase. This module allows you to convert names into the correct case where possible.
Although forenames and surnames are normally stored separately if they do appear in a single string, whitespace separated, NameCase and nc deal correctly with them.
NameCase currently correctly name cases names which include any of the following:
Mc, Mac, al, el, ap, da, de, delle, della, di, du, del, der,la, le, lo, van and von.
It correctly deals with names which contain apostrophes and hyphens too.
Example fixes
Original Name Case-------- ---------KEITH KeithLEIGH-WILLIAMS Leigh-WilliamsMCCARTHY McCarthyO'CALLAGHAN O'CallaghanST. JOHN St. John
plus "son (daughter) of" etc. in various languages, e.g.:
VON STREIT von StreitVAN DYKE van DykeAP LLWYD DAFYDD ap Llwyd Dafyddetc.
plus names with roman numerals (up to 89, LXXXIX), e.g.:
henry viii Henry VIIIlouis xiv Louis XIV
NameCase
Takes a scalar, scalarref, array or arrayref, and changes the case of the contents, as appropriate. Essentially a wrapper around nc().
nc
Takes a scalar or scalarref, and change the case of the name in the corresponding string appropriately.
Support
You can find documentation for this module with the perldoc command.
perldoc Lingua::EN::NameCase
You can also look for information at:
- •
-
MetaCPAN
<https://metacpan.org/release/Lingua-EN-NameCase>
- •
-
RT: CPAN's request tracker
<https://rt.cpan.org/NoAuth/Bugs.html?Dist=Lingua-EN-NameCase>
- •
-
CPANTS
<http://cpants.cpanauthors.org/dist/Lingua-EN-NameCase>
- •
-
CPAN Testers' Matrix
<http://matrix.cpantesters.org/?dist=Lingua-EN-NameCase>
- •
-
CPAN Ratings
<http://cpanratings.perl.org/d/Lingua-EN-NameCase>
- •
-
CPAN Testers Dependencies
<http://deps.cpantesters.org/?module=Lingua::EN::NameCase>
Acknowledgements
Thanks to Kim Ryan <[email protected]> for his Mc/Mac solution.
Releases
11 releases since Debian 3.1 (Sarge); the text changed 3 times.