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}; }