| Math-Calc-Euro documentation | Contained in the Math-Calc-Euro distribution. |
Math::Calc::Euro - convert between EUR and the old currencies
my $guildercalc = Math::Calc::Euro->new('NLG')
print $guildercalc->to_euro(1), "\n"; # 0.45378...
print $guildercalc->from_national(1), "\n"; # same
print $guildercalc->to_national(1), "\n"; # 2.20371
print $guildercalc->from_euro(1), "\n"; # same
The Math::Calc::Euro module provides for an object oriented interface for converting to/from EUR.
Takes one argument: the currency. Either one of these: LUF ATS BEF NLG FIM FRF DEM GRD IEP ITL PTE ESP or a number indicating how much the national currency is worth in euro's. When used as an object method, it defaults to the object's rate.
Returns the value in euro's. Takes one argument: the amount of money.
Returns the value in the old currency. Takes one argument: the amount of euro's.
None yet
Juerd <juerd@juerd.nl>
| Math-Calc-Euro documentation | Contained in the Math-Calc-Euro distribution. |
package Math::Calc::Euro; use strict; use Carp; use vars '$VERSION'; $VERSION = 0.02; my %rates = qw( LUF 40.3399 ATS 13.76 BEF 40.3399 NLG 2.20371 FIM 5.94574 FRF 6.55957 DEM 1.94483 GRD 340.75 IEP 0.787564 ITL 1936.27 PTE 200.482 ESP 166.386 ); sub new { my ($proto, $currency) = @_; my $rate = defined $currency && ( $rates{uc $currency} || 0 + $currency ) || ( ref $proto eq __PACKAGE__ ? $$proto : croak("Invalid currency") ); return bless \$rate, ref($proto) || $proto; } sub to_euro { my ($self, $amount) = @_; return $amount / $$self; } sub to_national { my ($self, $amount) = @_; return $amount * $$self; } sub from_euro { goto &to_national } sub from_national { goto &to_euro } sub clone { goto &new } 1; __END__