Locale::Currency - ISO 4217 - Norm für Währungs-Abkürzungen

Veröffentlicht von Thomas Fahle am (Permalink)

ISO 4217 ist die von der Internationalen Organisation für Normung publizierte Norm für Währungs-Abkürzungen, die im internationalen Zahlungsverkehr zur eindeutigen Identifizierung benutzt werden sollen.

Locale::Currency von Neil Bowers ermöglicht den Zugriff auf die drei Buchstaben langen Abkürzungen (ISO-Codes). Der Zugriff auf die numerischen Währungscodes ist nicht implementiert.

Mit Hilfe dieses Moduls lässt sich z.B. leicht prüfen, ob ein gültiger ISO-Code vorliegt.

#!/usr/bin/perl
use strict;
use warnings;

use Locale::Currency;

$| = 1;    # turn off buffering

print Bitte Währungscode eingeben: ";
chomp(my $code = <STDIN>);

my $curr = code2currency($code);

if (defined $curr) {
        print "$code = $curr\n";
}
else {
        print "'$code' ist kein gültiger Währungscode!\n";
}

Wenn man das Programm als localecurrency.pl speichert und anschließend auf der Kommandozeile aufruft, ergibt sich beispielsweise folgende Ausgabe.

$ perl localecurrency.pl 
Bitte Währungscode eingeben: EUR
EUR = Euro

$ perl localecurrency.pl 
Bitte Währungscode eingeben: USD
USD = US Dollar

$ perl localecurrency.pl 
Bitte Währungscode eingeben: XYZ
'XYZ' ist kein gültiger Währungscode!

Weiterhin kann aus dem Namen der Währung der ISO-Code ermittelt werden.

#!/usr/bin/perl
use strict;
use warnings;

use Locale::Currency;

$| = 1;    # turn off buffering

print "Bitte Währungsname eingeben: ";
chomp(my $currency = <STDIN>);

my $code = currency2code($currency);

if (defined $code) {
        print "$currency = $code\n";
}
else {
        print "'$currency' ist kein gültiger Währungsname!\n";
}

Wenn man das Programm als localecurrency2.pl speichert und anschließend auf der Kommandozeile aufruft, ergibt sich beispielsweise folgende Ausgabe.

$ perl localecurrency2.pl
Bitte Währungsname eingeben: EURO
EURO = eur

$ perl localecurrency2.pl
Bitte Währungsname eingeben: USD
'USD' ist kein gültiger Währungsname!

$ perl localecurrency2.pl
Bitte Währungsname eingeben: US Dollar
US Dollar = usd

Siehe auch

Weitere Posts