The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.

NAME

Parse::Number::ID - Parse number from Indonesian text

VERSION

version 0.05

SYNOPSIS

 use Parse::Number::ID qw(parse_number_id);

 my @a = map {parse_number_id(text=>$_)}
     ("12.345,67", "-1,2e3", "x123", "1.23");
 # @a = (12345.67, -1200, undef, 1.23)

DESCRIPTION

This module parses numbers from text, according to Indonesian rule of decimal- and thousand separators ("," and "." respectively, while English uses "." and ","). Since English numbers are more widespread, it will be parsed too whenever unambiguous, e.g.:

 12.3     # 12.3
 12.34    # 12.34
 12.345   # 12345

This module does not parse numbers that are written as Indonesian words, e.g. "seratus dua puluh tiga" (123). See Lingua::ID::Words2Nums for that.

VARIABLES

None are exported by default, but they are exportable.

$Pat (REGEX)

A regex for quickly matching/extracting number from text. It's not 100% perfect (the extracted number might not be valid), but it's simple and fast.

FUNCTIONS

None of the functions are exported by default, but they are exportable.

SEE ALSO

Lingua::ID::Words2Nums

DESCRIPTION

This module has Rinci metadata.

FUNCTIONS

None are exported by default, but they are exportable.

parse_number_id(%args) -> [status, msg, result, meta]

Parse number from Indonesian text.

Arguments ('*' denotes required arguments):

  • text* => str

    The input text that contains number.

Return value:

Returns an enveloped result (an array). First element (status) is an integer containing HTTP status code (200 means OK, 4xx caller error, 5xx function error). Second element (msg) is a string containing error message, or 'OK' if status is 200. Third element (result) is optional, the actual result. Fourth element (meta) is called result metadata and is optional, a hash that contains extra information.

AUTHOR

Steven Haryanto <stevenharyanto@gmail.com>

COPYRIGHT AND LICENSE

This software is copyright (c) 2012 by Steven Haryanto.

This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.