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