source: for-distributions/trunk/bin/windows/perl/lib/Locale/Currency.pm@ 14489

Last change on this file since 14489 was 14489, checked in by oranfry, 17 years ago

upgrading to perl 5.8

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