#!/usr/bin/perl

use Modern::Perl;
use utf8;
use open ':std', ':encoding(UTF-8)';

use Locale::Currency::Format;
use CLDR::Number::Format::Currency;

my @currencies = ( 'EUR', 'GBP', 'USD', 'COP', 'RSD', 'TRY' );
my $amount = 1024.0203098;

for my $currency (@currencies) {
    print "\n";
    say "Currency code: " . $currency;
    print "\n";
    say "Locale::Currency::Format";
    say "FMT_STANDARD Ex: " . currency_format( $currency, $amount, FMT_STANDARD );
    say "FMT_SYMBOL Ex: " . currency_format( $currency, $amount, FMT_SYMBOL );
    say "FMT_COMMON Ex: " . currency_format( $currency, $amount, FMT_COMMON );
    say "FMT_HTML Ex: " . currency_format( $currency, $amount, FMT_HTML );
    say "FMT_NAME Ex: " . currency_format( $currency, $amount, FMT_NAME );

    print "\n";
    say "CLDR::Number::Format::Currency";
    my $formatter = CLDR::Number::Format::Currency->new(
        locale        => 'en',
        currency_code => $currency,
    );
    say "en Ex: " . $formatter->format($amount);

    $formatter = CLDR::Number::Format::Currency->new(
        locale        => 'fr',
        currency_code => $currency,
    );
    say "fr Ex: " . $formatter->format($amount);

    $formatter = CLDR::Number::Format::Currency->new(
        locale        => 'de',
        currency_code => $currency,
    );
    say "de Ex: " . $formatter->format($amount);

}

#use Locale::Currency;
#my @codes = all_currency_codes();
#for my $code (@codes) {
#    say "Code: " . $code . " - " . code2currency($code);
#}

1;
