#!/usr/bin/perl # # DW::Countries # # Replacement for LJ::load_codes( { country => ... } ) # # Authors: # Pau Amma # # Copyright (c) 2014 by Dreamwidth Studios, LLC. # # This program is free software; you may redistribute it and/or modify it under # the same terms as Perl itself. For a copy of the license, please reference # 'perldoc perlartistic' or 'perldoc perlgpl'. package DW::Countries; use strict; use Locale::Codes::Country; =head1 NAME DW::Countries - Replacement for LJ::load_codes( { country => ... } ) =head1 DESCRIPTION This is at this point just a replacement for C<< LJ::load_codes( { country => ... } ) >>. It may become more in the future, eg by taking on subcountry (state/province/etc...) management as well. =head1 SYNOPSIS DW::Countries->load( \%countries ) # %countries = ( AF => 'Afghanistan', ... ) =head1 API =head2 C<< DW::Countries->load( $hashref ) >> Sets %$hashref to a hash of alpha-2 uppercase country code => country name for all active country codes. =cut sub load { my ( $class, $countries ) = @_; %$countries = (); foreach my $code ( all_country_codes() ) { $countries->{ uc $code } = code2country($code); } } =head2 C<< DW::Countries->load_legacy( $hashref ) >> Adds some additional legacy codes for displaying older data where appropriate. =cut sub load_legacy { my ( $class, $countries ) = @_; $class->load($countries); $countries->{LJSC} = $countries->{GB}; # Scotland $countries->{UK} = $countries->{GB}; # United Kingdom } 1; =head1 AUTHORS Pau Amma =head1 COPYRIGHT AND LICENSE Copyright (c) 2014 by Dreamwidth Studios, LLC. This program is free software; you may redistribute it and/or modify it under the same terms as Perl itself. For a copy of the license, please reference 'perldoc perlartistic' or 'perldoc perlgpl'.