Manual Reference Pages - MATH::UNITS (3)
Math::Units - Unit conversion
use Math::Units qw(convert);
my $out_value = convert($in_value, in unit, out unit);
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 long-form 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
POD about what units/abbr/etc can be used with the function
Mr. Foxs 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 bi-directional while
reductions *must* be consistently uni-directional.)
3. It would be nice to simplify the default conversions using the
yet-to-be-written solution to #2.
4. There are many units (several in the GNU unit program for example) that
arent 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 Ive messed anything up!
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) ||2008-07-25 |
Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.