5 Locale::Codes::Changes - details important changes after 2.07
11 =item B<Changed XXX_code2code behavior slightly>
13 In previous versions, passing in the same code set for both code set
14 arguments would automatically return undef. For example:
16 country_code2code('bo',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
19 This doesn't seem like reasonable behavior, so it has been changed
20 to allow the same code set:
22 country_code2code('bo',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
25 Note that if an invalid code is passed in, undef will still be
28 country_code2code('bol',LOCALE_CODE_ALPHA_2,LOCALE_CODE_ALPHA_2);
31 =item B<Added many semi-private routines>
33 Previous versions had only two semi-private routines: rename_country
34 and alias_code which had the ability to modify the internal data in
35 a couple very limited ways. It was requested (in an anonymous posting
36 by someone named Steve and also by Steve Hay) that better support
37 for modifying internal data, so a full set of routines were added.
39 The full set of routines includes:
71 add_country_code_alias
72 add_language_code_alias
73 add_currency_code_alias
76 delete_country_code_alias
77 delete_language_code_alias
78 delete_currency_code_alias
79 delete_script_code_alias
87 =item B<New maintainer>
89 From 1997 to 2004, Locale::Codes was maintained by Neil
90 Bowers. Unfortunately, no updates were made from June 2004 to January
91 2010. During that time, a number of changes have been made to the
92 standards since then, so the data included was out-of-date.
94 I contacted Neil to get his permission to assume maintenance of
95 the module, and he kindly agreed.
97 =item B<All codes are generated from standards>
99 All of the values returned by the various functions are now values
100 directly from the standards. This means that the values returned in
101 the 2.xx series are not necessarily the same as the values returned
104 As an example, the ISO 3166 standard which lists country codes refers
105 to the country associated with the code "bo" as "Bolivia,
106 Plurinational State of", so that is what is returned. In the 2.xx
107 series, "Bolivia" was returned. Also, the country names vary from one
108 standard to another. So the code "bol" which is maintained by the
109 United Nations returns the name of the country as "Bolivia
110 (Plurinational State of)". Some common aliases have been added, so you
111 can still request a code associated with a county name "Bolivia".
113 Since the data comes from the standards, some "incorrect" values are
114 no longer supported. For example, 2.07 treated "Zaire" as an alias for
115 "Congo", but the country changed it's name, and "Zaire" is not in the
116 standard, so it has been dropped in 3.00.
118 =item B<Added several code sets from standards>
120 I've added the following code sets:
122 FIPS 10 country codes
123 Alpha-3 and Term language codes
124 Numeric currency codes
126 =item B<Locale::Script changed>
128 In 2.xx, Locale::Script assigned scripts to country codes, which is NOT
129 how it is done currently in the standards. It appears that an older version
130 of ISO 15924 did this, but I haven't found an old version to confirm
131 that, and in any case, that is not the case in the current standards.
133 As a result, the Locale::Script module is completely incompatible with
134 the 2.xx version with respect to the types of codes it supports. None of
135 the old codes will work.
137 =item B<Added missing functions>
139 I've added in some functions which were "missing" previously (since there was
140 only one set of codes supported, the code2code functions didn't apply):
145 so the interfaces for each type of codes are consistent.
147 =item B<Dropped support for _alias_code>
149 In Locale::Country, _alias_code was an allowed, but deprecated function
150 which was documented to be supported in the 2.xx series. I've removed it.
160 See Locale::Codes for full author history.
162 Currently maintained by Sullivan Beck (sbeck@cpan.org).
166 Copyright (c) 2010-2010 Sullivan Beck
168 This module is free software; you can redistribute it and/or
169 modify it under the same terms as Perl itself.