=pod =head1 NAME Locale::Codes::Country - standard codes for country identification =head1 SYNOPSIS use Locale::Codes::Country; $country = code2country('jp' [,CODESET]); # $country gets 'Japan' $code = country2code('Norway' [,CODESET]); # $code gets 'no' @codes = all_country_codes( [CODESET]); @names = all_country_names(); # semi-private routines Locale::Codes::Country::rename_country('gb' => 'Great Britain'); =head1 DESCRIPTION This module provides access to several code sets that can be used for identifying countries, such as those defined in ISO 3166-1. Most of the routines take an optional additional argument which specifies the code set to use. If not specified, the default ISO 3166-1 two-letter codes will be used. =head1 SUPPORTED CODE SETS There are several different code sets you can use for identifying countries. A code set may be specified using either a name, or a constant that is automatically exported by this module. For example, the two are equivalent: $country = code2country('jp','alpha-2'); $country = code2country('jp',LOCALE_CODE_ALPHA_2); The codesets currently supported are: =over 4 =item B This is the set of two-letter (lowercase) codes from ISO 3166-1, such as 'tv' for Tuvalu. This is the default code set. =item B This is the set of three-letter (lowercase) codes from ISO 3166-1, such as 'brb' for Barbados. These codes are actually defined and maintained by the U.N. Statistics division. =item B This is the set of three-digit numeric codes from ISO 3166-1, such as 064 for Bhutan. These codes are actually defined and maintained by the U.N. Statistics division. If a 2-digit code is entered, it is converted to 3 digits by prepending a 0. =item B The IANA is responsible for delegating management of the top level country domains. The country domains are the two-letter (lowercase) codes from ISO 3166 with a few other additions. =back NOTE: As of version 3.27, the FIPS code set is no longer supported. See the Locale::Codes::Changes document for details. =head1 ROUTINES =over 4 =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B =item B These routines are all documented in the L man page. =back =head1 SEE ALSO =over 4 =item L The Locale-Codes distribution. =item L The list of functions supported by this module. =item L ISO codes for country sub-divisions (states, counties, provinces, etc), as defined in ISO 3166-2. This module is not part of the Locale-Codes distribution, but is available from CPAN in CPAN/modules/by-module/Locale/ =item L Official home page for the ISO 3166 maintenance agency. =item L The source of ISO 3166-1 two-letter codes used by this module. =item L Official source of the top-level domain names. =item L The source of the official ISO 3166-1 three-letter codes and three-digit codes. For some reason, this table is incomplete! Several countries are missing from it, and I cannot find them anywhere on the UN site. I no longer use this as a source of data. =item L The World Factbook maintained by the CIA is a potential source of the data. Unfortunately, it adds/preserves non-standard codes, so it is no longer used as a source of data. =item L Another unofficial source of data. Currently, it is not used to get data, but the notes and explanatory material were very useful for understanding discrepancies between the sources. =back =head1 AUTHOR See Locale::Codes for full author history. Currently maintained by Sullivan Beck (sbeck@cpan.org). =head1 COPYRIGHT Copyright (c) 1997-2001 Canon Research Centre Europe (CRE). Copyright (c) 2001-2010 Neil Bowers Copyright (c) 2010-2015 Sullivan Beck This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself. =cut