[PATCH9 BigInt v1.60 fix for "\n"
[p5sagit/p5-mst-13.2.git] / lib / Locale / Currency.pm
CommitLineData
6b14ceb7 1#
2# Locale::Currency - ISO three letter codes for currency identification
3# (ISO 4217)
4#
5# $Id: Currency.pm,v 2.1 2002/02/06 04:07:10 neilb Exp $
6#
47a334e9 7
8package Locale::Currency;
9use strict;
10require 5.002;
11
47a334e9 12require Exporter;
13
14#-----------------------------------------------------------------------
15# Public Global Variables
16#-----------------------------------------------------------------------
17use vars qw($VERSION @ISA @EXPORT);
6b14ceb7 18$VERSION = sprintf("%d.%02d", q$Revision: 2.1 $ =~ /(\d+)\.(\d+)/);
47a334e9 19@ISA = qw(Exporter);
20@EXPORT = qw(&code2currency &currency2code
21 &all_currency_codes &all_currency_names );
22
23#-----------------------------------------------------------------------
24# Private Global Variables
25#-----------------------------------------------------------------------
26my %CODES = ();
27my %CURRENCIES = ();
28
29
30#=======================================================================
6b14ceb7 31#
32# code2currency( CODE )
33#
47a334e9 34#=======================================================================
35sub code2currency
36{
37 my $code = shift;
38
39
40 return undef unless defined $code;
41 $code = lc($code);
42 if (exists $CODES{$code})
43 {
44 return $CODES{$code};
45 }
46 else
47 {
48 #---------------------------------------------------------------
49 # no such currency code!
50 #---------------------------------------------------------------
51 return undef;
52 }
53}
54
6b14ceb7 55
56#=======================================================================
57#
58# currency2code ( CURRENCY )
59#
60#=======================================================================
47a334e9 61sub currency2code
62{
63 my $curr = shift;
64
65
66 return undef unless defined $curr;
67 $curr = lc($curr);
68 if (exists $CURRENCIES{$curr})
69 {
70 return $CURRENCIES{$curr};
71 }
72 else
73 {
74 #---------------------------------------------------------------
75 # no such currency!
76 #---------------------------------------------------------------
77 return undef;
78 }
79}
80
47a334e9 81
82#=======================================================================
6b14ceb7 83#
84# all_currency_codes()
85#
86#=======================================================================
47a334e9 87sub all_currency_codes
88{
89 return keys %CODES;
90}
91
6b14ceb7 92
93#=======================================================================
94#
95# all_currency_names()
96#
97#=======================================================================
47a334e9 98sub all_currency_names
99{
100 return values %CODES;
101}
102
47a334e9 103
104#=======================================================================
105# initialisation code - stuff the DATA into the CODES hash
106#=======================================================================
107{
108 my $code;
109 my $currency;
110
111
112 while (<DATA>)
113 {
114 next unless /\S/;
115 chop;
116 ($code, $currency) = split(/:/, $_, 2);
117 $CODES{$code} = $currency;
118 $CURRENCIES{"\L$currency"} = $code;
119 }
120}
121
1221;
123
124__DATA__
125adp:Andorran Peseta
126aed:UAE Dirham
127afa:Afghani
128all:Lek
129amd:Armenian Dram
130ang:Netherlands Antillean Guilder
131aoa:Kwanza
132aon:New Kwanza
133aor:Kwanza Reajustado
134ars:Argentine Peso
135ats:Schilling
136aud:Australian Dollar
137awg:Aruban Guilder
138azm:Azerbaijanian Manat
139
140bam:Convertible Marks
141bbd:Barbados Dollar
142bdt:Taka
143bef:Belgian Franc
144bgl:Lev
145bgn:Bulgarian Lev
146bhd:Bahraini Dinar
147bhd:Dinar
148bif:Burundi Franc
149bmd:Bermudian Dollar
150bnd:Brunei Dollar
151bob:Boliviano
152bov:MVDol
153brl:Brazilian Real
154bsd:Bahamian Dollar
155btn:Ngultrum
156bwp:Pula
157byb:Belarussian Ruble
158byr:Belarussian Ruble
159bzd:Belize Dollar
160
161cad:Candian Dollar
162cdf:Franc Congolais
163chf:Swiss Franc
164clf:Unidades de Formento
165clp:Chilean Peso
166cny:Yuan Renminbi
167cop:Colombian Peso
168crc:Costa Rican Colon
169cup:Cuban Peso
170cve:Cape Verde Escudo
171cyp:Cyprus Pound
172czk:Czech Koruna
173
174dem:German Mark
175djf:Djibouti Franc
176dkk:Danish Krone
177dop:Dominican Peso
178dzd:Algerian Dinar
179
180ecs:Sucre
181ecv:Unidad de Valor Constante (UVC)
182eek:Kroon
183egp:Egyptian Pound
184ern:Nakfa
185esp:Spanish Peseta
186etb:Ethiopian Birr
187eur:Euro
188
189fim:Markka
190fjd:Fiji Dollar
191fkp:Falkland Islands Pound
192frf:French Franc
193
194gbp:Pound Sterling
195gel:Lari
196ghc:Cedi
197gip:Gibraltar Pound
198gmd:Dalasi
199gnf:Guinea Franc
200grd:Drachma
201gtq:Quetzal
202gwp:Guinea-Bissau Peso
203gyd:Guyana Dollar
204
205hkd:Hong Kong Dollar
206hnl:Lempira
207hrk:Kuna
208htg:Gourde
209huf:Forint
210
211idr:Rupiah
212iep:Irish Pound
213ils:Shekel
214inr:Indian Rupee
215iqd:Iraqi Dinar
216irr:Iranian Rial
217isk:Iceland Krona
218itl:Italian Lira
219
220jmd:Jamaican Dollar
221jod:Jordanian Dinar
222jpy:Yen
223
224kes:Kenyan Shilling
225kgs:Som
226khr:Riel
227kmf:Comoro Franc
228kpw:North Korean Won
229krw:Won
230kwd:Kuwaiti Dinar
231kyd:Cayman Islands Dollar
232kzt:Tenge
233
234lak:Kip
235lbp:Lebanese Pound
236lkr:Sri Lanka Rupee
237lrd:Liberian Dollar
238lsl:Loti
239ltl:Lithuanian Litas
240luf:Luxembourg Franc
241lvl:Latvian Lats
242lyd:Libyan Dinar
243
244mad:Moroccan Dirham
245mdl:Moldovan Leu
246mgf:Malagasy Franc
247mkd:Denar
248mmk:Kyat
249mnt:Tugrik
250mop:Pataca
251mro:Ouguiya
252mtl:Maltese Lira
253mur:Mauritius Rupee
254mvr:Rufiyaa
255mwk:Kwacha
256mxn:Mexican Nuevo Peso
257myr:Malaysian Ringgit
258mzm:Metical
259
260nad:Namibia Dollar
261ngn:Naira
262nio:Cordoba Oro
263nlg:Netherlands Guilder
264nok:Norwegian Krone
265npr:Nepalese Rupee
266nzd:New Zealand Dollar
267
268omr:Rial Omani
269
270pab:Balboa
271pen:Nuevo Sol
272pgk:Kina
273php:Philippine Peso
274pkr:Pakistan Rupee
275pln:Zloty
276pte:Portuguese Escudo
277pyg:Guarani
278
279qar:Qatari Rial
280
281rol:Leu
282rub:Russian Ruble
283rur:Russian Ruble
284rwf:Rwanda Franc
285
286sar:Saudi Riyal
287sbd:Solomon Islands Dollar
288scr:Seychelles Rupee
289sdd:Sudanese Dinar
290sek:Swedish Krona
291sgd:Singapore Dollar
292shp:St. Helena Pound
293sit:Tolar
294skk:Slovak Koruna
295sll:Leone
296sos:Somali Shilling
297srg:Surinam Guilder
298std:Dobra
299svc:El Salvador Colon
300syp:Syrian Pound
301szl:Lilangeni
302
303thb:Baht
304tjr:Tajik Ruble
305tmm:Manat
306tnd:Tunisian Dollar
307top:Pa'anga
308tpe:Timor Escudo
309trl:Turkish Lira
310ttd:Trinidad and Tobago Dollar
311twd:New Taiwan Dollar
312tzs:Tanzanian Shilling
313
314uah:Hryvnia
315uak:Karbovanets
316ugx:Uganda Shilling
317usd:US Dollar
318usn:US Dollar (Next day)
319uss:US Dollar (Same day)
320uyu:Peso Uruguayo
321uzs:Uzbekistan Sum
322
323veb:Bolivar
324vnd:Dong
325vuv:Vatu
326
327wst:Tala
328
329xaf:CFA Franc BEAC
330xag:Silver
331xau:Gold
332xba:European Composite Unit
333xbb:European Monetary Unit
334xbc:European Unit of Account 9
335xb5:European Unit of Account 17
336xcd:East Caribbean Dollar
337xdr:SDR
338xeu:ECU (until 1998-12-31)
339xfu:UIC-Franc
340xfo:Gold-Franc
341xof:CFA Franc BCEAO
342xpd:Palladium
343xpf:CFP Franc
344xpt:Platinum
345
346yer:Yemeni Rial
347yum:New Dinar
348
349zal:Financial Rand
350zar:Rand
351zmk:Kwacha
352zrn:New Zaire
353zwd:Zimbabwe Dollar