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}; } #### 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','NLG'), "\n"; print $eurocalc->euroCalc(1,'NLG','BEF'), "\n"; print $eurocalc->euroCalc(1,'NLG','EUR'), "\n"; print $eurocalc->euroCalc(1,'EUR','NLG'), "\n";