- NAME
- SYNOPSIS
- DESCRIPTION
- ERRORS
- EXAMPLES
- ENVIRONMENT
- SEE ALSO
- NOTES
- WARNINGS
- DIAGNOSTICS
- BUGS
- RESTRICTIONS
- AUTHOR
NAME
Countries.pm - Perl module providing country name, country code, and continent information
SYNOPSIS
use CAIDA::Countries;
my $countries = new CAIDA::Countries();
print "Canada's 2-letter ISO code is: " . $country->get_iso2code_by_name('Canada') . "\n"; print "Zimbabwe is on the continent of " . $country->get_contname_by_contcode( $country->get_continent_by_iso2code( $country->get_iso2code_by_name('Zimbabwe'))) . ".\n";
DESCRIPTION
Countries is a module that lets you look up information on countries, continents, and country locations. It is meant to provide general, relatively static information. It does not map latitude and longitude to a specific country, but it does map the name of a country to the latitude and longitude of its geographic center.
- Module Setup
- new(COUNTRY-NAME--ISO2--FILE, ISO2--LOCATION--FILE, ISO2--ISO3--FILE, ISO2--FIPS--FILE, CONTINENT-CODE--CONTINENT-NAME--FILE)
-
sets up a new Countries module object. takes five optional arguments describing the location of the input data files you wish to use to perform the country/country code/continent/location mappings. in all files, a # indicates a comment line to be ignored. if specified, each data source file will be used in lieu of the defaults listed below:
- COUNTRY-NAME--ISO2--FILE
-
file of the format: "ISO-2-letter-code<tab>country-full-name\n"
-
a name in parentheses indicates an alternate name for that country. a name in square brackets indicates an optional addition (usually a prefix) to the existing name.
-
default: <your-coral-directory>/etc/iso3166_2letter.txt
- ISO2--LOCATION--FILE
-
file of the format: "ISO-2-letter-code<tab>continent-code<tab>latitude,longitude\n"
-
default: <your-coral-directory/etc/iso3166_loc.txt
- ISO2--ISO3--FILE
-
file of the format: "ISO-2-letter-code<tab>ISO-3-letter-code\n"
-
default: <your-coral-directory/etc/iso3166_3letter.txt
- ISO2--FIPS--FILE
-
file of the format: "ISO-2-letter-code<tab>fips-code\n"
-
default: <your-coral-directory/etc/iso3166_fips.txt
- CONTINENT-CODE--CONTINENT-NAME--FILE
-
file of the format: "continent-code<tab>continent-name\n"
-
default: <your-coral-directory/etc/continents.txt
- Country Name Information
- Countries.pm lets you look up country names by country code (ISO2, ISO3, or FIPS), look up country code (ISO2, ISO3, FIPS) by country name, and convert between verious types of country codes.
get_name_by_iso2code(ISO2CODE)
-
returns the full name of the country specified by the given ISO 2-letter country code.
get_name_by_iso3code(ISO3CODE)
-
returns the full name of the country specified by the given ISO 3-letter country code.
get_name_by_fipscode(FIPSCODE)
-
returns the full name of the country specified by the given FIPS country code.
get_iso2code_by_name(COUNTRY-NAME)
-
returns the ISO 2-letter country code that corresponds to the provided name of a country.
get_iso2code_by_iso3code(ISO3CODE)
-
returns the ISO 2-letter country code that corresponds to the given ISO 3-letter country code.
get_iso2code_by_fipscode(FIPSCODE)
-
returns the ISO 2-letter country code that corresponds to the given FIPS country code.
get_iso3code_by_name(COUNTRY-NAME)
-
returns the ISO 3-letter country code that corresponds to the provided name of a country.
get_iso3code_by_iso2code(ISO2CODE)
-
returns the ISO 3-letter country code that corresponds to the given ISO 2-letter country code.
get_iso3code_by_fipscode(FIPSCODE)
-
returns the ISO 3-letter country code that corresponds to the given FIPS country code.
get_fipscode_by_name(COUNTRY-NAME)
-
returns the FIPS country code that corresponds to the provided name of a country.
get_fipscode_by_iso2code(ISO2CODE)
-
returns the FIPS country code that corresponds to the given ISO 2-letter country code.
get_fipscode_by_iso3code(ISO3CODE)
-
returns the FIPS country code that corresponds to the given ISO 3-letter country code.
- Continent Information
get_contname_by_contcode(CONTINENT-CODE)
-
returns the continent code that corresponds to the provided continent name.
get_contcode_by_contname(CONTINENT-NAME)
-
returns the continent name that corresponds to the provided continent code.
get_continent_by_name(COUNTRY-NAME)
-
returns the continent code that corresponds to the provided country name.
get_continent_by_iso2code(ISO2CODE)
-
returns the continent code that corresponds to the provided iso 2-letter country code.
get_continent_by_iso3code(ISO3CODE)
-
returns the continent code that corresponds to the provided iso 3-letter country code.
get_continent_by_fipscode(FIPSCODE)
-
returns the continent code that corresponds to the provided fips country code.
get_names_by_contcode(CONTINENT-CODE)
-
returns a reference to an array that is a list of the names of all of the countries inside the continent that corresponds to the provided continent code.
get_iso2codes_by_contcode(CONTINENT-CODE)
-
returns a reference to an array that is a list of the ISO 2-letter country codes of all of the countries inside the continent that corresponds to the provided continent code.
get_iso3codes_by_contcode(CONTINENT-CODE)
-
returns a reference to an array that is a list of the ISO 3-letter country codes of all of the countries inside the continent that corresponds to the provided continent code.
get_fipscodes_by_contcode(CONTINENT-CODE)
-
returns a reference to an array that is a list of the FIPS country codes of all of the countries inside the continent that corresponds to the provided continent code.
- Location Information
get_location_by_name(COUNTRY-NAME)
-
returns a string of the form "continent<tab>latitude,longitude" that corresponds to the geographic center of the country specified by the given country name.
get_location_by_iso2code(ISO2CODE)
-
returns a string of the form "continent<tab>latitude,longitude" that corresponds to the geographic center of the country specified by the given iso 2-letter country code.
get_location_by_iso3code(ISO3CODE)
-
returns a string of the form "continent<tab>latitude,longitude" that corresponds to the geographic center of the country specified by the given iso 3-letter country code.
get_location_by_fipscode(FIPSCODE)
-
returns a string of the form "continent<tab>latitude,longitude" that corresponds to the geographic center of the country specified by the given fips country code.
get_latlon_by_name(COUNTRY-NAME)
-
returns a string of the form "latitude,longitude" that corresponds to the geographic center of the country specified by the given country name.
get_latlon_by_iso2code(ISO2CODE)
-
returns a string of the form "latitude,longitude" that corresponds to the geographic center of the country specified by the given iso 2-letter country code.
get_latlon_by_iso3code(ISO3CODE)
-
returns a string of the form "latitude,longitude" that corresponds to the geographic center of the country specified by the given iso 3-letter country code.
get_latlon_by_fipscode(FIPSCODE)
-
returns a string of the form "latitude,longitude" that corresponds to the geographic center of the country specified by the given fipscountry code.
- get_split_loc(ISO2CODE, TARGET-FLAG)
-
if target-flag is 0: returns the continent code that corresponds to the provided iso 2-letter country code.
-
if target-flag is 1: returns a string of the form "latitude,longitude" that corresponds to the geographic center of the country specified by the given iso 2-letter country code. this function is used extensively within the module to support all of the previously documented functions; it is available for external use as well.
- Data Output
-
each of these functions takes a reference to a file as an optional argument. if no file reference is given, the data is sent to STDOUT.
dump_continents_to_countries(FILEREF)
-
prints the continent code/iso 2-letter country code mappings as an alphabetized list to the specified file as lines of the form: "continent-code<tab>iso-2-letter-code<tab>iso-2-letter-code...\n"
- dump_locations (FILEREF)
-
prints the ISO 2-letter code/location mappings to the specified file as lines of the form: "iso-2-letter-code<tab>continent-code<tab>latitude,longitude\n"
- dump_countries (FILEREF)
-
prints the country name/ISO 2-letter code mappings to the specified file as lines of the form: "country-name<tab>iso-2-letter-code\n"
- dump_iso2codes_to_countries (FILEREF)
-
prints the ISO 2-letter code/country name mappings to the specified file as lines of the form: "iso-2-letter-code<tab>country-name\n"
- dump_iso2codes_to_iso3codes (FILEREF)
-
prints the ISO 2-letter code/ISO 3-letter code mappings to the specified file as lines of the form: "iso-2-letter-code<tab>iso-3-letter-code\n"
- dump_iso3codes_to_iso2codes (FILEREF)
-
prints the ISO 3-letter code/ISO 2-letter code mappings to the specified file as lines of the form: "iso-3-letter-code<tab>iso-2-letter-code\n"
- dump_iso2codes_to_fipscodes (FILEREF)
-
prints the ISO 2-letter code/FIPS code mappings to the specified file as lines of the form: "iso-2-letter-code<tab>fips-code\n"
- dump_fipscodes_to_iso2_codes (FILEREF)
-
prints the FIPS code/ISO 2-letter code mappings to the specified file as lines of the form: "fips-code<tab>iso-2-letter-code\n"
- dump_continents_to_names (FILEREF)
-
prints the continent name/continent code mappings to the specified file as lines of the form: "continent-code<tab>continent-name\n"
- dump_names_to_continents (FILEREF)
-
prints the continent code/country name mappings to the specified file as lines of the form: "continent-name<tab>continent-code\n"
ERRORS
EXAMPLES
use CAIDA::Countries; my $country = new CAIDA::Countries();
$country->get_iso2code_by_name('Canada'); $country->get_name_by_iso2code('ca');
$country->get_iso3code_by_iso2code('ca'); $country->get_iso2code_by_iso3code('can');
$country->get_fipscode_by_iso2code('cc'); $country->get_iso2code_by_fipscode('ck');
$country->get_location_by_iso2code('ca'); $country->get_iso2codes_by_contcode('na'); $country->get_continent_by_iso2code('ca'); $country->get_latlon_by_iso2code('ca');
$country->get_name_by_iso3code('can'); $country->get_name_by_fipscode('ck'); $country->get_names_by_contcode('na');
$country->get_fipscode_by_name('Cocos Islands'); $country->get_fipscode_by_iso3code('cck'); $country->get_fipscodes_by_contcode('na');
$country->get_continent_by_name('Canada'); $country->get_continent_by_iso3code('can'); $country->get_continent_by_fipscode('ck');
$country->get_latlon_by_name('Canada'); $country->get_latlon_by_iso3code('can'); $country->get_latlon_by_fipscode('ck');
$country->get_location_by_name('Canada'); $country->get_location_by_iso3code('can'); $country->get_location_by_fipscode('ck');
$country->get_contname_by_contcode('na'); $country->get_contcode_by_contname('North America'); my $loc = 'ca'; $country->get_split_loc($loc, 0); $country->get_split_loc($loc, 1); $country->dump_countries();
ENVIRONMENT
SEE ALSO
NOTES
WARNINGS
DIAGNOSTICS
BUGS
RESTRICTIONS
AUTHOR
CoralReef Development team, CAIDA <coral-info@caida.org>