SpaceAge.pm (628B) - raw
1 package SpaceAge; 2 use strict; 3 use warnings; 4 use Exporter qw<import>; 5 our @EXPORT_OK = qw<age_on_planet>; 6 7 sub age_on_planet { 8 my ($args) = @_; 9 my $EARTH_ORBIT_PER_SECONDS = 31557600; 10 my %ORBITAL_PERIOD = ( 11 Mercury => 0.2408467, 12 Venus => 0.61519726, 13 Earth => 1, 14 Mars => 1.8808158, 15 Jupiter => 11.862615, 16 Saturn => 29.447498, 17 Uranus => 84.016846, 18 Neptune => 164.79132, 19 ); 20 21 return sprintf("%.2f", $args->{seconds} / $EARTH_ORBIT_PER_SECONDS / $ORBITAL_PERIOD{ $args->{planet} }); 22 23 } 24 25 1;