Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Contact Us
Online Help
Domain Status
Man Pages

Virtual Servers

Topology Map

Server Agreement
Year 2038

USA Flag



Man Pages

Manual Reference Pages  -  MATH::UNITS (3)

.ds Aq ’


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

’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 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
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!


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;
Search for    or go to Top of page |  Section 3 |  Main Index

perl v5.20.3 UNITS (3) 2008-07-25

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.