#!/usr/bin/perl
package Geo::CountryFlags::ISO;

################################################################
# WARNING! this module is automatically generated DO NOT EDIT! #
#            see Geo::CountryFlags::Util instead               #
#                                                              #
# creation date:  Sat Sep 16 07:05:44 2006 GMT	               #
################################################################

use strict;
use vars qw($VERSION);
$VERSION = '2006258.002';

my $ISO = {
    'AD' => q|Andorra|,
    'AE' => q|United Arab Emirates|,
    'AF' => q|Afghanistan|,
    'AG' => q|Antigua and Barbuda|,
    'AI' => q|Anguilla|,
    'AL' => q|Albania|,
    'AM' => q|Armenia|,
    'AN' => q|Netherlands Antilles|,
    'AO' => q|Angola|,
    'AQ' => q|Antarctica|,
    'AR' => q|Argentina|,
    'AS' => q|American Samoa|,
    'AT' => q|Austria|,
    'AU' => q|Australia|,
    'AW' => q|Aruba|,
    'AX' => q|ÅLand Islands|,
    'AZ' => q|Azerbaijan|,
    'BA' => q|Bosnia and Herzegovina|,
    'BB' => q|Barbados|,
    'BD' => q|Bangladesh|,
    'BE' => q|Belgium|,
    'BF' => q|Burkina Faso|,
    'BG' => q|Bulgaria|,
    'BH' => q|Bahrain|,
    'BI' => q|Burundi|,
    'BJ' => q|Benin|,
    'BM' => q|Bermuda|,
    'BN' => q|Brunei Darussalam|,
    'BO' => q|Bolivia|,
    'BR' => q|Brazil|,
    'BS' => q|Bahamas|,
    'BT' => q|Bhutan|,
    'BV' => q|Bouvet Island|,
    'BW' => q|Botswana|,
    'BY' => q|Belarus|,
    'BZ' => q|Belize|,
    'CA' => q|Canada|,
    'CC' => q|Cocos (Keeling) Islands|,
    'CD' => q|Congo, the Democratic Republic Of the|,
    'CF' => q|Central African Republic|,
    'CG' => q|Congo|,
    'CH' => q|Switzerland|,
    'CI' => q|Cote D'Ivoire|,
    'CK' => q|Cook Islands|,
    'CL' => q|Chile|,
    'CM' => q|Cameroon|,
    'CN' => q|China|,
    'CO' => q|Colombia|,
    'CR' => q|Costa Rica|,
    'CS' => q|Serbia and Montenegro|,
    'CU' => q|Cuba|,
    'CV' => q|Cape Verde|,
    'CX' => q|Christmas Island|,
    'CY' => q|Cyprus|,
    'CZ' => q|Czech Republic|,
    'DE' => q|Germany|,
    'DJ' => q|Djibouti|,
    'DK' => q|Denmark|,
    'DM' => q|Dominica|,
    'DO' => q|Dominican Republic|,
    'DZ' => q|Algeria|,
    'EC' => q|Ecuador|,
    'EE' => q|Estonia|,
    'EG' => q|Egypt|,
    'EH' => q|Western Sahara|,
    'ER' => q|Eritrea|,
    'ES' => q|Spain|,
    'ET' => q|Ethiopia|,
    'FI' => q|Finland|,
    'FJ' => q|Fiji|,
    'FK' => q|Falkland Islands (Malvinas)|,
    'FM' => q|Micronesia, Federated States Of|,
    'FO' => q|Faroe Islands|,
    'FR' => q|France|,
    'GA' => q|Gabon|,
    'GB' => q|United Kingdom|,
    'GD' => q|Grenada|,
    'GE' => q|Georgia|,
    'GF' => q|French Guiana|,
    'GG' => q|Guernsey|,
    'GH' => q|Ghana|,
    'GI' => q|Gibraltar|,
    'GL' => q|Greenland|,
    'GM' => q|Gambia|,
    'GN' => q|Guinea|,
    'GP' => q|Guadeloupe|,
    'GQ' => q|Equatorial Guinea|,
    'GR' => q|Greece|,
    'GS' => q|South Georgia and the South Sandwich Islands|,
    'GT' => q|Guatemala|,
    'GU' => q|Guam|,
    'GW' => q|Guinea-Bissau|,
    'GY' => q|Guyana|,
    'HK' => q|Hong Kong|,
    'HM' => q|Heard Island and Mcdonald Islands|,
    'HN' => q|Honduras|,
    'HR' => q|Croatia|,
    'HT' => q|Haiti|,
    'HU' => q|Hungary|,
    'ID' => q|Indonesia|,
    'IE' => q|Ireland|,
    'IL' => q|Israel|,
    'IM' => q|Isle Of Man|,
    'IN' => q|India|,
    'IO' => q|British Indian Ocean Territory|,
    'IQ' => q|Iraq|,
    'IR' => q|Iran, Islamic Republic Of|,
    'IS' => q|Iceland|,
    'IT' => q|Italy|,
    'JE' => q|Jersey|,
    'JM' => q|Jamaica|,
    'JO' => q|Jordan|,
    'JP' => q|Japan|,
    'KE' => q|Kenya|,
    'KG' => q|Kyrgyzstan|,
    'KH' => q|Cambodia|,
    'KI' => q|Kiribati|,
    'KM' => q|Comoros|,
    'KN' => q|Saint Kitts and Nevis|,
    'KP' => q|Korea, Democratic People'S Republic Of|,
    'KR' => q|Korea, Republic Of|,
    'KW' => q|Kuwait|,
    'KY' => q|Cayman Islands|,
    'KZ' => q|Kazakhstan|,
    'LA' => q|Lao People'S Democratic Republic|,
    'LB' => q|Lebanon|,
    'LC' => q|Saint Lucia|,
    'LI' => q|Liechtenstein|,
    'LK' => q|Sri Lanka|,
    'LR' => q|Liberia|,
    'LS' => q|Lesotho|,
    'LT' => q|Lithuania|,
    'LU' => q|Luxembourg|,
    'LV' => q|Latvia|,
    'LY' => q|Libyan Arab Jamahiriya|,
    'MA' => q|Morocco|,
    'MC' => q|Monaco|,
    'MD' => q|Moldova, Republic Of|,
    'MG' => q|Madagascar|,
    'MH' => q|Marshall Islands|,
    'MK' => q|Macedonia, the Former Yugoslav Republic Of|,
    'ML' => q|Mali|,
    'MM' => q|Myanmar|,
    'MN' => q|Mongolia|,
    'MO' => q|Macao|,
    'MP' => q|Northern Mariana Islands|,
    'MQ' => q|Martinique|,
    'MR' => q|Mauritania|,
    'MS' => q|Montserrat|,
    'MT' => q|Malta|,
    'MU' => q|Mauritius|,
    'MV' => q|Maldives|,
    'MW' => q|Malawi|,
    'MX' => q|Mexico|,
    'MY' => q|Malaysia|,
    'MZ' => q|Mozambique|,
    'NA' => q|Namibia|,
    'NC' => q|New Caledonia|,
    'NE' => q|Niger|,
    'NF' => q|Norfolk Island|,
    'NG' => q|Nigeria|,
    'NI' => q|Nicaragua|,
    'NL' => q|Netherlands|,
    'NO' => q|Norway|,
    'NP' => q|Nepal|,
    'NR' => q|Nauru|,
    'NU' => q|Niue|,
    'NZ' => q|New Zealand|,
    'OM' => q|Oman|,
    'PA' => q|Panama|,
    'PE' => q|Peru|,
    'PF' => q|French Polynesia|,
    'PG' => q|Papua New Guinea|,
    'PH' => q|Philippines|,
    'PK' => q|Pakistan|,
    'PL' => q|Poland|,
    'PM' => q|Saint Pierre and Miquelon|,
    'PN' => q|Pitcairn|,
    'PR' => q|Puerto Rico|,
    'PS' => q|Palestinian Territory, Occupied|,
    'PT' => q|Portugal|,
    'PW' => q|Palau|,
    'PY' => q|Paraguay|,
    'QA' => q|Qatar|,
    'RE' => q|Reunion|,
    'RO' => q|Romania|,
    'RU' => q|Russian Federation|,
    'RW' => q|Rwanda|,
    'SA' => q|Saudi Arabia|,
    'SB' => q|Solomon Islands|,
    'SC' => q|Seychelles|,
    'SD' => q|Sudan|,
    'SE' => q|Sweden|,
    'SG' => q|Singapore|,
    'SH' => q|Saint Helena|,
    'SI' => q|Slovenia|,
    'SJ' => q|Svalbard and Jan Mayen|,
    'SK' => q|Slovakia|,
    'SL' => q|Sierra Leone|,
    'SM' => q|San Marino|,
    'SN' => q|Senegal|,
    'SO' => q|Somalia|,
    'SR' => q|Suriname|,
    'ST' => q|Sao Tome and Principe|,
    'SV' => q|El Salvador|,
    'SY' => q|Syrian Arab Republic|,
    'SZ' => q|Swaziland|,
    'TC' => q|Turks and Caicos Islands|,
    'TD' => q|Chad|,
    'TF' => q|French Southern Territories|,
    'TG' => q|Togo|,
    'TH' => q|Thailand|,
    'TJ' => q|Tajikistan|,
    'TK' => q|Tokelau|,
    'TL' => q|Timor-Leste|,
    'TM' => q|Turkmenistan|,
    'TN' => q|Tunisia|,
    'TO' => q|Tonga|,
    'TR' => q|Turkey|,
    'TT' => q|Trinidad and Tobago|,
    'TV' => q|Tuvalu|,
    'TW' => q|Taiwan, Province Of China|,
    'TZ' => q|Tanzania, United Republic Of|,
    'UA' => q|Ukraine|,
    'UG' => q|Uganda|,
    'UM' => q|United States Minor Outlying Islands|,
    'US' => q|United States|,
    'UY' => q|Uruguay|,
    'UZ' => q|Uzbekistan|,
    'VA' => q|Holy See (Vatican City State)|,
    'VC' => q|Saint Vincent and the Grenadines|,
    'VE' => q|Venezuela|,
    'VG' => q|Virgin Islands, British|,
    'VI' => q|Virgin Islands, U.S.|,
    'VN' => q|Viet Nam|,
    'VU' => q|Vanuatu|,
    'WF' => q|Wallis and Futuna|,
    'WS' => q|Samoa|,
    'YE' => q|Yemen|,
    'YT' => q|Mayotte|,
    'ZA' => q|South Africa|,
    'ZM' => q|Zambia|,
    'ZW' => q|Zimbabwe|,
};

sub AUTOLOAD {
  no strict;
  $AUTOLOAD =~ /[^:]+$/;
  value($&);
}

sub new {
  my $proto = shift;
  my $class = ref $proto || $proto || __PACKAGE__;
  my $self = {};
  bless $self, $class;
}

sub hashptr {
  my($proto,$class) = @_;
  $proto = $class if $class;
  $class = ref $proto || $proto;
  my $rv = {};
  %$rv = %$ISO;
  bless $rv, $class;
}

sub value {
  return (exists $ISO->{$_[0]}) ? $ISO->{$_[0]} : undef;
}

sub subref {
  return \&value;
}

1;
__END__

=pod

Geo::CountryFlags::ISO is autogenerated by Makefile.PL

Last updated Sat Sep 16 07:05:44 2006 GMT

=head1 NAME

Geo::CountryFlags::ISO::ISO - hash to map values

=head1 SYNOPSIS

Geo::CountryFlags::ISO provides a variety of methods and functions to lookup values
either as hash-like constants (recommended) or directly from a hash array.

    require $Geo::CountryFlags::ISO;
    my $gci = new Geo::CountryFlags::ISO;
    $value = $gci->KEY;

  Perl 5.6 or greater can use syntax
    $value = $gci->$key;

  or
    $subref = subref Geo::CountryFlags::ISO;
    $value = $subref->($key);
    $value = &$subref($key);

  or
    $value = value Geo::CountryFlags::ISO($key);
    Geo::CountryFlags::ISO->value($key);

  to return a reference to the map directly

  $hashref = hashptr Geo::CountryFlags::ISO($class);
  $value = $hashref->{$key};

=head1 DESCRIPTION

Geo::CountryFlags::ISO maps ISO values.

Values may be returned directly by designating the KEY as a method or
subroutine of the form:

    $value = Geo::CountryFlags::ISO::KEY;
    $value = Geo::CountryFlags::ISO->KEY;
  or in Perl 5.6 and above
    $value = Geo::CountryFlags::ISO->$key;
  or
    $gci = new Geo::CountryFlags::ISO;
    $value = $gci->KEY;
  or in Perl 5.6 and above
    $value= =  $gci->$key;

=over 4

=item * $gci = new Geo::CountryFlags::ISO;

Return a reference to the modules in this package.

=item * $hashptr = hashptr Geo::CountryFlags::ISO($class);

Return a blessed reference to a copy of the hash in this package.

  input:	[optional] class or class ref
  returns:	a reference blessed into $class
		if $class is present otherwise
		blessed into Geo::CountryFlags::ISO

=item * $value = value Geo::CountryFlags::ISO($key);

=item * $value = $gci->value($key);

Return the value in the map hash or undef if it does not exist.

=item * $subref = subref Geo::CountryFlags::ISO;

=item * $subref = $gci->subref;

Return a subroutine reference that will return the value of a key or undef
if the key is not present.

  $value = $subref->($key);
  $value = &$subref($key);

=back

=head1 EXPORTs

Nothing

=head1 AUTHOR 

Michael Robinton michael@bizsystems.com

=head1 COPYRIGHT and LICENSE

  Copyright 2006 Michael Robinton, michael@bizsystems.com

This module is free software; you can redistribute it and/or modify it
under the terms of the GNU General Public License as published by the Free Software 
Foundation; either version 1, or (at your option) any later version,

This program is distributed in the hope that it will be useful, 
but WITHOUT ANY WARRANTY; without even the implied warranty of  
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See either
the GNU General Public License or the Artistic License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA

=head1 SEE ALSO

L<Geo::CountryFlags::Util>

=cut

1;
