

 
Manual Reference Pages  MATH::UNITS (3)
.ds Aq ’
NAME
Math::Units  Unit conversion
CONTENTS
SYNOPSIS
use Math::Units qw(convert);
my $out_value = convert($in_value, ’in unit’, ’out unit’);
DESCRIPTION
The Math::Units module converts a numeric value in one unit of measurement
to some other unit. The units must be compatible, i.e. length can not be
converted to volume. If a conversion can not be made an exception is thrown.
A combination chaining and reduction algorithm is used to perform the most
direct unit conversion possible. Units may be written in several different
styles. An abbreviation table is used to convert from common longform unit
names to the (more or less) standard abbreviations that the units module uses
internally. All multiplicative unit conversions are cached so that future
conversions can be performed very quickly.
Too many units, prefixes and abbreviations are supported to list here. See
the source code for a complete listing.
I beleive this module has great potential, if you have any ideas or patches feel free to submit them to rt.cpan.org.
’units’ program test like ’gunits’
other tests
POD about what units/abbr/etc can be used with the function
general cleanup
Mr. Fox’s original TODO:
1. There should be a set of routines for adding new unit formulas,
reductions and conversions.
2. Some conversions can be automatically generated from a reduction. (This
has to be done carefully because conversions are bidirectional while
reductions *must* be consistently unidirectional.)
3. It would be nice to simplify the default conversions using the
yettobewritten solution to #2.
4. There are many units (several in the GNU unit program for example) that
aren’t defined here. Since I was (un)fortunately born in the U.S., I
have a(n) (in)correct belief of what the standard units are. Please let
me know if I’ve messed anything up!
EXAMPLES
print 5 mm == , convert(5, ’mm’, ’in’), inches\n;
print 72 degrees Farenheit == , convert(72, ’F’, ’C’), degrees Celsius\n;
print 1 gallon == , convert(1, ’gallon’, ’cm^3’), cubic centimeters\n;
print 4500 rpm == , convert(4500, ’rpm’, ’Hz’), Hertz\n;
perl v5.20.3  UNITS (3)  20080725 
Visit the GSP FreeBSD Man Page Interface. Output converted with manServer 1.07. 