Locale::US(3pm) User Contributed Perl Documentation Locale::US(3pm)NAME
Locale::US - two letter codes for state identification in the United States and vice versa.
SYNOPSIS
use Locale::US;
my $u = Locale::US->new;
my $state = $u->{code2state}{$code};
my $code = $u->{state2code}{$state};
my @state = $u->all_state_names;
my @code = $u->all_state_codes;
ABSTRACT
Map from US two-letter codes to states and vice versa.
DESCRIPTION
MAPPING
$self->{code2state}
This is a hashref which has two-letter state names as the key and the long name as the value.
$self->{state2code}
This is a hashref which has the long nameas the key and the two-letter state name as the value.
DUMPING
$self->all_state_names
Returns an array (not arrayref) of all state names in alphabetical form
$self->all_state_codes
Returns an array (not arrayref) of all state codes in alphabetical form.
KNOWN BUGS AND LIMITATIONS
o The state name is returned in "uc()" format.
o neither hash is strict, though they should be.
SEE ALSO
Locale::Country
Locale::Country
Abbreviations
<http://www.usps.gov/ncsc/lookups/usps_abbreviations.htm>
Online file with the USPS two-letter codes for the United States and its possessions.
AUXILIARY CODE:
lynx -dump http://www.usps.gov/ncsc/lookups/usps_abbreviations.htm > kruft.txt
kruft2codes.pl
COPYRIGHT INFO
Copyright (c) 2002 - $present Terrence Brannon.
All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
License: GPL, Artistic, available in the Debian Linux Distribution at /usr/share/common-licenses/{GPL,Artistic}
AUTHOR
T. M. Brannon, <tbone@cpan.org>
PATCHES
Thanks to stevet AT ibrinc for a patch about second call to new failing.
perl v5.12.4 2011-08-03 Locale::US(3pm)
Check Out this Related Man Page
Locale::Language(3pm) Perl Programmers Reference Guide Locale::Language(3pm)NAME
Locale::Language - ISO two letter codes for language identification (ISO 639)
SYNOPSIS
use Locale::Language;
$lang = code2language('en'); # $lang gets 'English'
$code = language2code('French'); # $code gets 'fr'
@codes = all_language_codes();
@names = all_language_names();
DESCRIPTION
The "Locale::Language" module provides access to the ISO two-letter codes for identifying languages, as defined in ISO 639. You can either
access the codes via the "conversion routines" (described below), or via the two functions which return lists of all language codes or all
language names.
CONVERSION ROUTINES
There are two conversion routines: "code2language()" and "language2code()".
code2language()
This function takes a two letter language code and returns a string which contains the name of the language identified. If the code is
not a valid language code, as defined by ISO 639, then "undef" will be returned.
$lang = code2language($code);
language2code()
This function takes a language name and returns the corresponding two letter language code, if such exists. If the argument could not
be identified as a language name, then "undef" will be returned.
$code = language2code('French');
The case of the language name is not important. See the section "KNOWN BUGS AND LIMITATIONS" below.
QUERY ROUTINES
There are two function which can be used to obtain a list of all language codes, or all language names:
"all_language_codes()"
Returns a list of all two-letter language codes. The codes are guaranteed to be all lower-case, and not in any particular order.
"all_language_names()"
Returns a list of all language names for which there is a corresponding two-letter language code. The names are capitalised, and not
returned in any particular order.
EXAMPLES
The following example illustrates use of the "code2language()" function. The user is prompted for a language code, and then told the cor-
responding language name:
$| = 1; # turn off buffering
print "Enter language code: ";
chop($code = <STDIN>);
$lang = code2language($code);
if (defined $lang)
{
print "$code = $lang
";
}
else
{
print "'$code' is not a valid language code!
";
}
KNOWN BUGS AND LIMITATIONS
o In the current implementation, all data is read in when the module is loaded, and then held in memory. A lazy implementation would be
more memory friendly.
o Currently just supports the two letter language codes - there are also three-letter codes, and numbers. Would these be of any use to
anyone?
SEE ALSO
Locale::Country
ISO codes for identification of country (ISO 3166). Supports 2-letter, 3-letter, and numeric country codes.
Locale::Script
ISO codes for identification of written scripts (ISO 15924).
Locale::Currency
ISO three letter codes for identification of currencies and funds (ISO 4217).
ISO 639:1988 (E/F)
Code for the representation of names of languages.
http://lcweb.loc.gov/standards/iso639-2/langhome.html
Home page for ISO 639-2.
AUTHOR
Neil Bowers <neil@bowers.com>
COPYRIGHT
Copyright (C) 2002, Neil Bowers.
Copyright (c) 1997-2001 Canon Research Centre Europe (CRE).
This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.8.0 2002-06-01 Locale::Language(3pm)