Path: usenet.cise.ufl.edu!newsfeeds.nerdc.ufl.edu!newsfeeds.nerdc.ufl.edu!news.magicnet.net!feed2.news.erols.com!erols!nntp.abs.net!outfeed1.news.cais.net!news.neta.com!not-for-mail From: kfox@ford.com (Ken Fox) Newsgroups: comp.lang.perl.announce,comp.lang.perl.modules Subject: ANNOUNCE: Math::Units module used for unit conversion Followup-To: comp.lang.perl.modules Date: 16 Aug 1998 19:51:45 GMT Organization: Ford Motor Company, Powertrain Lines: 50 Approved: merlyn@stonehenge.com (comp.lang.perl.announce) Message-ID: <6r7d8h$fka$1@news.neta.com> Reply-To: kfox@ford.com NNTP-Posting-Host: gadget.cscaper.com X-Trace: news.neta.com 903297105 16010 206.67.186.3 (16 Aug 1998 19:51:45 GMT) X-Complaints-To: abuse@neta.com NNTP-Posting-Date: 16 Aug 1998 19:51:45 GMT X-Disclaimer: The "Approved" header verifies header information for article transmission and does not imply approval of content. Xref: usenet.cise.ufl.edu comp.lang.perl.announce:113 comp.lang.perl.modules:3253 The first release of the Math::Units module has been added to CPAN. It is available as: file: $CPAN/authors/id/KENFOX/Math-Units-1.2.tar.gz size: 12148 bytes md5: 5089d07f2042c567759d1c761c40dd98 This module is 100% Perl. Perl 5.004 or higher is required. (I haven't tested it yet with Perl 5.005. Sorry.) 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 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. 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"; - Ken -- Ken Fox (kfox@ford.com) | My opinions or statements do | not represent those of, nor are Ford Motor Company, Powertrain | endorsed by, Ford Motor Company. Analytical Powertrain Methods Department | Software Development Section | "Is this some sort of trick | question or what?" -- Calvin .