home *** CD-ROM | disk | FTP | other *** search
/ Acorn User 10 / AU_CD10.iso / Updates / Perl / Non-RPC / !Perl / riscos / Units.pm < prev   
Text File  |  1998-07-12  |  631b  |  39 lines

  1. package Units;
  2.  
  3. require Exporter;
  4.  
  5. $VERSION = 0.01;
  6. @ISA = Exporter;
  7. @EXPORT = qw(convert);
  8.  
  9. %factors = ( pt => 25.4/72, in => 25.4, pi => 25.4/12, mm => 1, cm => 10, 'm', 1000 );
  10.  
  11. =head1 NAME
  12.  
  13. units - a unit convertor
  14.  
  15. =head1 DESCRIPTION
  16.  
  17. converts values between  system of units
  18.  
  19. =cut
  20.  
  21. sub convert
  22. {
  23.     my $factor = $factors{shift @_};
  24.  
  25.     return unless defined $factor && $factor;
  26.     
  27.     my @result;
  28.     foreach (@_)
  29.     {
  30.         /(.*?)([A-Za-zµ°'"]+)\s*$/;
  31.         my $result = $factor * $1 / $factors{$2};
  32.         push @result, ($factor * $1 / $factors{$2});
  33.     }
  34.     
  35.     return wantarray ? @result : $result[0];
  36. }
  37.  
  38. 1;
  39.