Well in the spirit of that request, heres an additional sub which you can add to the module. You must add the additional key value pair of 'EUR' => 1 to the rates hash or you'll have problems doing any euro conversions :)
sub euroCalc
{
my ($self,$amount, $from,$to) = @_;
croak("Invalid start currency") unless defined($rates{uc $from});
croak("Invalid target currency") unless defined($rates{uc $to});
# What was it in Euros
# $amount = ($amount * $rates{$to}) / $rates{$from};
# Now convert to target currency
# return $amount * $rates{$to};
# Or in one line
return ($amount * $rates{$to}) / $rates{$from};
}
And some test prints
use strict;
use Calc::Euro;
my $eurocalc = Calc::Euro->new('NLG');
print $eurocalc->to_national(1), "\n"; # 2.20371
print $eurocalc->euroCalc($eurocalc->euroCalc(1,'NLG','EUR'),'EUR','NL
+G'), "\n";
print $eurocalc->euroCalc(1,'NLG','BEF'), "\n";
print $eurocalc->euroCalc(1,'NLG','EUR'), "\n";
print $eurocalc->euroCalc(1,'EUR','NLG'), "\n";
So you notice that you can go from one currency to Euros and
then to your target currency. Might prove handy to someone.
Have fun :)
|