Locale::Currency - ISO three letter codes for currency identification


NAME

Locale::Currency - ISO three letter codes for currency identification (ISO 4217)


SYNOPSIS

    use Locale::Currency;
    $curr = code2currency('usd');     # $curr gets 'US Dollar'
    $code = currency2code('Euro');    # $code gets 'eur'
    @codes   = all_currency_codes();
    @names   = all_currency_names();


DESCRIPTION

The Locale::Currency module provides access to the ISO three-letter codes for identifying currencies and funds, as defined in ISO 4217. You can either access the codes via the conversion routines (described below), or with the two functions which return lists of all currency codes or all currency names.

There are two special codes defined by the standard which aren't understood by this module:

XTS
Specifically reserved for testing purposes.

XXX
For transactions where no currency is involved.


CONVERSION ROUTINES

There are two conversion routines: code2currency() and currency2code().

code2currency()
This function takes a three letter currency code and returns a string which contains the name of the currency identified. If the code is not a valid currency code, as defined by ISO 4217, then undef will be returned.
    $curr = code2currency($code);

currency2code()
This function takes a currency name and returns the corresponding three letter currency code, if such exists. If the argument could not be identified as a currency name, then undef will be returned.
    $code = currency2code('French Franc');

The case of the currency name is not important. See the section KNOWN BUGS AND LIMITATIONS below.


QUERY ROUTINES

There are two function which can be used to obtain a list of all currency codes, or all currency names:

all_currency_codes()
Returns a list of all three-letter currency codes. The codes are guaranteed to be all lower-case, and not in any particular order.

all_currency_names()
Returns a list of all currency names for which there is a corresponding three-letter currency code. The names are capitalised, and not returned in any particular order.


EXAMPLES

The following example illustrates use of the code2currency() function. The user is prompted for a currency code, and then told the corresponding currency name:

    $| = 1;    # turn off buffering
    print "Enter currency code: ";
    chop($code = <STDIN>);
    $curr = code2currency($code);
    if (defined $curr)
    {
        print "$code = $curr\n";
    }
    else
    {
        print "'$code' is not a valid currency code!\n";
    }


KNOWN BUGS AND LIMITATIONS


SEE ALSO

Locale::Country
ISO codes for identification of country (ISO 3166).

Locale::Script
ISO codes for identification of written scripts (ISO 15924).

ISO 4217:1995
Code for the representation of currencies and funds.

http://www.bsi-global.com/iso4217currency
Official web page for the ISO 4217 maintenance agency. This has the latest list of codes, in MS Word format. Boo.


AUTHOR

Michael Hennecke <hennecke@rz.uni-karlsruhe.de> and Neil Bowers <neil@bowers.com>


COPYRIGHT

Copyright (C) 2002-2004, Neil Bowers.

Copyright (c) 2001 Michael Hennecke and Canon Research Centre Europe (CRE).

This module is free software; you can redistribute it and/or modify it under the same terms as Perl itself.

 Locale::Currency - ISO three letter codes for currency identification