NAME
Text::Math::NumExp - Text::Math::NumExp - Find numeric expressions in text.
VERSION
version 0.01_11
SYNOPSIS
use Text::Math::NumExp;
my $text = "Light travels at 3x10[8] m/s."
norm_numexp($text);
# "Light travels at 3x10^8 m/s."
$text = "The program used for the amplification was as follows:
5 min at 94°C, followed by 50 cycles consisting of 30s
at 94°C, 30s at 62°C, and 30s at 72°C";
find_numexp($text);
# [ { length => 1, offset => 54, text => 5, value => 5 },
# { length => 2, offset => 63, text => 94, value => 94 },
# { length => 2, offset => 81, text => 50, value => 50 },
# { length => 9, offset => 105, text => "30s at 94", value => undef },
# { length => 9, offset => 119, text => "30s at 62", value => undef },
# { length => 9, offset => 137, text => "30s at 72", value => undef },
# ]
$text = "One plus one equals two.";
find_numwords($text);
# [ { length => 3, offset => 0, text => "One", value => 1 },
# { length => 3, offset => 9, text => "one", value => 1 },
# { length => 3, offset => 20, text => "two", value => 2 },
# ]
DESCRIPTION
This module searches for numbers and numeric expressions in a text, including:
- - numbers (e.g 30.000, 3.4, -20)
- - spelled-out numbers (e.g. "one million", "three")
- - complex numeric expressions (e.g. 1.5x10^-5)
SUBROUTINES/METHODS
find_numexp
Finds numeric expressions in text.
find_numwords
Finds spelled-out numbers in text.
solve
Returns the value of a numerical expression. Retuns undef if expression is not solvable.
norm_numexp
Normalizes common numerical expression patterns (including Unicode characters).
AUTHOR
Andre Santos <andrefs@cpan.org>
COPYRIGHT AND LICENSE
This software is copyright (c) 2012 by Andre Santos.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.