Initial commit of OpenSPARC T2 architecture model.
[OpenSPARC-T2-SAM] / sam-t2 / devtools / amd64 / man / man3 / Locale::Currency.3
CommitLineData
920dae64
AT
1.\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.32
2.\"
3.\" Standard preamble:
4.\" ========================================================================
5.de Sh \" Subsection heading
6.br
7.if t .Sp
8.ne 5
9.PP
10\fB\\$1\fR
11.PP
12..
13.de Sp \" Vertical space (when we can't use .PP)
14.if t .sp .5v
15.if n .sp
16..
17.de Vb \" Begin verbatim text
18.ft CW
19.nf
20.ne \\$1
21..
22.de Ve \" End verbatim text
23.ft R
24.fi
25..
26.\" Set up some character translations and predefined strings. \*(-- will
27.\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28.\" double quote, and \*(R" will give a right double quote. | will give a
29.\" real vertical bar. \*(C+ will give a nicer C++. Capital omega is used to
30.\" do unbreakable dashes and therefore won't be available. \*(C` and \*(C'
31.\" expand to `' in nroff, nothing in troff, for use with C<>.
32.tr \(*W-|\(bv\*(Tr
33.ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34.ie n \{\
35. ds -- \(*W-
36. ds PI pi
37. if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38. if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch
39. ds L" ""
40. ds R" ""
41. ds C` ""
42. ds C' ""
43'br\}
44.el\{\
45. ds -- \|\(em\|
46. ds PI \(*p
47. ds L" ``
48. ds R" ''
49'br\}
50.\"
51.\" If the F register is turned on, we'll generate index entries on stderr for
52.\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53.\" entries marked with X<> in POD. Of course, you'll have to process the
54.\" output yourself in some meaningful fashion.
55.if \nF \{\
56. de IX
57. tm Index:\\$1\t\\n%\t"\\$2"
58..
59. nr % 0
60. rr F
61.\}
62.\"
63.\" For nroff, turn off justification. Always turn off hyphenation; it makes
64.\" way too many mistakes in technical documents.
65.hy 0
66.if n .na
67.\"
68.\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69.\" Fear. Run. Save yourself. No user-serviceable parts.
70. \" fudge factors for nroff and troff
71.if n \{\
72. ds #H 0
73. ds #V .8m
74. ds #F .3m
75. ds #[ \f1
76. ds #] \fP
77.\}
78.if t \{\
79. ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80. ds #V .6m
81. ds #F 0
82. ds #[ \&
83. ds #] \&
84.\}
85. \" simple accents for nroff and troff
86.if n \{\
87. ds ' \&
88. ds ` \&
89. ds ^ \&
90. ds , \&
91. ds ~ ~
92. ds /
93.\}
94.if t \{\
95. ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96. ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97. ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98. ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99. ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100. ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101.\}
102. \" troff and (daisy-wheel) nroff accents
103.ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104.ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105.ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106.ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107.ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108.ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109.ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110.ds ae a\h'-(\w'a'u*4/10)'e
111.ds Ae A\h'-(\w'A'u*4/10)'E
112. \" corrections for vroff
113.if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114.if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115. \" for low resolution devices (crt and lpr)
116.if \n(.H>23 .if \n(.V>19 \
117\{\
118. ds : e
119. ds 8 ss
120. ds o a
121. ds d- d\h'-1'\(ga
122. ds D- D\h'-1'\(hy
123. ds th \o'bp'
124. ds Th \o'LP'
125. ds ae ae
126. ds Ae AE
127.\}
128.rm #[ #] #H #V #F C
129.\" ========================================================================
130.\"
131.IX Title "Locale::Currency 3"
132.TH Locale::Currency 3 "2001-09-21" "perl v5.8.8" "Perl Programmers Reference Guide"
133.SH "NAME"
134Locale::Currency \- ISO three letter codes for currency identification (ISO 4217)
135.SH "SYNOPSIS"
136.IX Header "SYNOPSIS"
137.Vb 1
138\& use Locale::Currency;
139.Ve
140.PP
141.Vb 2
142\& $curr = code2currency('usd'); # $curr gets 'US Dollar'
143\& $code = currency2code('Euro'); # $code gets 'eur'
144.Ve
145.PP
146.Vb 2
147\& @codes = all_currency_codes();
148\& @names = all_currency_names();
149.Ve
150.SH "DESCRIPTION"
151.IX Header "DESCRIPTION"
152The \f(CW\*(C`Locale::Currency\*(C'\fR module provides access to the \s-1ISO\s0 three-letter
153codes for identifying currencies and funds, as defined in \s-1ISO\s0 4217.
154You can either access the codes via the \*(L"conversion routines\*(R"
155(described below),
156or with the two functions which return lists of all currency codes or
157all currency names.
158.PP
159There are two special codes defined by the standard which aren't
160understood by this module:
161.IP "\s-1XTS\s0" 4
162.IX Item "XTS"
163Specifically reserved for testing purposes.
164.IP "\s-1XXX\s0" 4
165.IX Item "XXX"
166For transactions where no currency is involved.
167.SH "CONVERSION ROUTINES"
168.IX Header "CONVERSION ROUTINES"
169There are two conversion routines: \f(CW\*(C`code2currency()\*(C'\fR and \f(CW\*(C`currency2code()\*(C'\fR.
170.IP "\fIcode2currency()\fR" 4
171.IX Item "code2currency()"
172This function takes a three letter currency code and returns a string
173which contains the name of the currency identified. If the code is
174not a valid currency code, as defined by \s-1ISO\s0 4217, then \f(CW\*(C`undef\*(C'\fR
175will be returned.
176.Sp
177.Vb 1
178\& $curr = code2currency($code);
179.Ve
180.IP "\fIcurrency2code()\fR" 4
181.IX Item "currency2code()"
182This function takes a currency name and returns the corresponding
183three letter currency code, if such exists.
184If the argument could not be identified as a currency name,
185then \f(CW\*(C`undef\*(C'\fR will be returned.
186.Sp
187.Vb 1
188\& $code = currency2code('French Franc');
189.Ve
190.Sp
191The case of the currency name is not important.
192See the section \*(L"\s-1KNOWN\s0 \s-1BUGS\s0 \s-1AND\s0 \s-1LIMITATIONS\s0\*(R" below.
193.SH "QUERY ROUTINES"
194.IX Header "QUERY ROUTINES"
195There are two function which can be used to obtain a list of all
196currency codes, or all currency names:
197.ie n .IP """all_currency_codes()""" 4
198.el .IP "\f(CWall_currency_codes()\fR" 4
199.IX Item "all_currency_codes()"
200Returns a list of all three-letter currency codes.
201The codes are guaranteed to be all lower\-case,
202and not in any particular order.
203.ie n .IP """all_currency_names()""" 4
204.el .IP "\f(CWall_currency_names()\fR" 4
205.IX Item "all_currency_names()"
206Returns a list of all currency names for which there is a corresponding
207three-letter currency code. The names are capitalised, and not returned
208in any particular order.
209.SH "EXAMPLES"
210.IX Header "EXAMPLES"
211The following example illustrates use of the \f(CW\*(C`code2currency()\*(C'\fR function.
212The user is prompted for a currency code, and then told the corresponding
213currency name:
214.PP
215.Vb 1
216\& $| = 1; # turn off buffering
217.Ve
218.PP
219.Vb 11
220\& print "Enter currency code: ";
221\& chop($code = <STDIN>);
222\& $curr = code2currency($code);
223\& if (defined $curr)
224\& {
225\& print "$code = $curr\en";
226\& }
227\& else
228\& {
229\& print "'$code' is not a valid currency code!\en";
230\& }
231.Ve
232.SH "KNOWN BUGS AND LIMITATIONS"
233.IX Header "KNOWN BUGS AND LIMITATIONS"
234.IP "\(bu" 4
235In the current implementation, all data is read in when the
236module is loaded, and then held in memory.
237A lazy implementation would be more memory friendly.
238.IP "\(bu" 4
239This module also includes the special codes which are
240not for a currency, such as Gold, Platinum, etc.
241This might cause a problem if you're using this module
242to display a list of currencies.
243Let Neil know if this does cause a problem, and we can
244do something about it.
245.IP "\(bu" 4
246\&\s-1ISO\s0 4217 also defines a numeric code for each currency.
247Currency codes are not currently supported by this module,
248in the same way Locale::Country supports multiple codesets.
249.IP "\(bu" 4
250There are three cases where there is more than one
251code for the same currency name.
252Kwacha has two codes: mwk for Malawi, and zmk for Zambia.
253The Russian Ruble has two codes: rub and rur.
254The Belarussian Ruble has two codes: byr and byb.
255The \fIcurrency2code()\fR function only returns one code, so
256you might not get back the code you expected.
257.SH "SEE ALSO"
258.IX Header "SEE ALSO"
259.IP "Locale::Country" 4
260.IX Item "Locale::Country"
261\&\s-1ISO\s0 codes for identification of country (\s-1ISO\s0 3166).
262.IP "Locale::Script" 4
263.IX Item "Locale::Script"
264\&\s-1ISO\s0 codes for identification of written scripts (\s-1ISO\s0 15924).
265.IP "\s-1ISO\s0 4217:1995" 4
266.IX Item "ISO 4217:1995"
267Code for the representation of currencies and funds.
268.IP "http://www.bsi\-global.com/iso4217currency" 4
269.IX Item "http://www.bsi-global.com/iso4217currency"
270Official web page for the \s-1ISO\s0 4217 maintenance agency.
271This has the latest list of codes, in \s-1MS\s0 Word format. Boo.
272.SH "AUTHOR"
273.IX Header "AUTHOR"
274Michael Hennecke <hennecke@rz.uni\-karlsruhe.de>
275and
276Neil Bowers <neil@bowers.com>
277.SH "COPYRIGHT"
278.IX Header "COPYRIGHT"
279Copyright (C) 2002\-2004, Neil Bowers.
280.PP
281Copyright (c) 2001 Michael Hennecke and
282Canon Research Centre Europe (\s-1CRE\s0).
283.PP
284This module is free software; you can redistribute it and/or
285modify it under the same terms as Perl itself.