package Convert::Units::Length; require 5.004; require Exporter; use vars qw($VERSION $self); $VERSION = "0.14"; use Convert::Units::Base; my $self = new Convert::Units::Base ( # The actual units, relative to each other (in this case, in inches) { 'centimeter' => 0.3937, 'decameter' => 393.7, 'decimeter' => 3.937, 'foot' => 12, 'hectometer' => 3937, 'inch' => 1, 'kilometer' => 39370, 'meter' => 39.37, 'micrometer' => 0.00003937, 'mile' => 63360, 'millimeter' => 0.03937, 'yard' => 36 }, # Synonyms and abbreviations for these units { 'm' => 'meter', 'cm' => 'centimeter', 'dm' => 'decimeter', 'km' => 'kilometer', 'mm' => 'millimeter', 'micron' => 'micrometer', 'mi' => 'mile', 'ft' => 'foot', "\'" => 'foot', 'in' => 'inch', "\"" => 'inch', 'yd' => 'yard', 'y' => 'yard' }, # Mulipliers (so we can say "dozen inches" or "sixteenths of an inch") { 'dozen' => 12, 'quadruple' => 4, 'triple' => 3, 'double' => 2, 'whole' => 1, 'half' => 1/2, 'third' => 1/3, 'quarter' => 1/4, 'eighth' => 1/8, 'twelth' => 1/12, 'sixteenth' => 1/16, 'tenth' => 1/10, 'twentieth' => 1/20, 'fiftieth' => 1/50, 'hundreth' => 1/100, 'single' => 1 }, # The default unit to convert to (when none is specified) "inch" ); # A stub for converting units sub convert { return $self->convert_units (@_); } # A stub for parsing strings (such as "1 foot, 3 inches") sub parse { return $self->parse_string (@_); } 1; __END__