NAME
Data::SIprefixes - This helps with working with numbers with SI prefixed measures.
VERSION
Version 0.0.1
SYNOPSIS
use Data::SIprefixes;
my $sim=Data::SIprefixes->new('3 grams');
print 'Number: '.$sip->numberGet.
"\nprefix: ".$sip->prefixGet.
"\nmeasure: ".$sip->measureGet.
"\nsymbol: ".$sip->symbolGet.
"\nuse symbol: ".$sip->symbolUse.
"\nstring: ".$sip->string."\n";
While new can properly parse some prefix/measure combos, the ones below are set statically as they can cause confusion.
amp
ampere
coulomb
farad
Gy
henry
kat
katal
kelvin
m
metre
meter
mol
mole
newton
Pa
pascal
T
Because of this, while it is possible of matching other symbols with out a measure, the ones listed below can't be.
m
T
METHODS
new
This initiates the object.
One argument is required and that is the string.
my $sip->new('3 kilometer');
if ( $sip->error ){
warn('error:'.$sip->error.': '.$sip->errorString);
}
measureGet
This returns the measure part.
This won't error as long as new did not.
If no measure was found, '' is returned.
my $measure=$sip->measureSet('gram');
measureSet
This returns the measure part.
This sets the measure. This will accept '' as a valid measure.
$sip->measureSet( $measure );
if ( $sip->error ){
warn('error:'.$sip->error.': '.$sip->errorString);
}
numberGet
This returns the numeric part.
This won't error as long as new did not.
my $error=$sip->numberGet;
numberSet
This sets the numeric part.
This won't error as long as what you provide a number.
my $error=$sip->numberGet('4');
prefixGet
This returns the current metric prefix.
As long as it new worked with out error, then this will not error.
A return of '', means there is no current prefix.
my $prefix=$sip->prefixGet;
prefixSet
This sets the metric prefix and update the number to reflect that change.
One argument is accepted and it is the new prefix. A value of '' set it to no prefix.
If no prefix is specified, '' is used.
$sip->prefixSet('kilo');
string
This returns a formatted string of the number, prefix/symbol, and measure.
This will not error as long as the module initialized with out error.
my $string=$sip->string;
symbolGet
This returns the symbol for the prefix.
As long as it new worked with out error, then this will not error.
A return of '', means there is no current prefix and thus no symbol.
my $symbol=$sip->getSymbol;
symbolUse
Returns if the symbol should be used or not.
The returned value is boolean and this is based off of how it is matched.
This will not error as long as the module has initialized with out error.
my $symbolUse=$sim->symbolUse;
ERROR CODES
1
Failed to load one of the prefixes.
2
The string does not begin with a number.
3
No number specified.
4
No recognized prefix specified.
5
No measure specified.
AUTHOR
Zane C. Bowers-Hadley, <vvelox at vvelox.net>
BUGS
Please report any bugs or feature requests to bug-data-siprefixes at rt.cpan.org
, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Data-SIprefixes. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Data::SIprefixes
You can also look for information at:
RT: CPAN's request tracker (report bugs here)
AnnoCPAN: Annotated CPAN documentation
CPAN Ratings
Search CPAN
ACKNOWLEDGEMENTS
LICENSE AND COPYRIGHT
Copyright 2012 Zane C. Bowers-Hadley.
This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License.
See http://dev.perl.org/licenses/ for more information.