Scalar::Util::Numeric3pm
Numeric tests for perl scalars
Usage
use Scalar::Util::Numeric qw(isnum isint isfloat);foo($bar / 2) if (isnum $bar);if (isint $baz) {# ...} elsif (isfloat $baz) {# ...}
Overview
This module exports a number of wrappers around perl's builtin "grok_number" function, which returns the numeric type of its argument, or 0 if it isn't numeric.
Tags
All of the functions exported by Scalar::Util::Numeric can be imported by using the ":all" tag:
use Scalar::Util::Numeric qw(:all);
Exports
isnum
isnum ($val)
Returns a nonzero value (indicating the numeric type) if $val is a number.
The numeric type is a conjunction of the following flags:
0x01 IS_NUMBER_IN_UV (number within UV range - not necessarily an integer)0x02 IS_NUMBER_GREATER_THAN_UV_MAX (number is greater than UV_MAX)0x04 IS_NUMBER_NOT_INT (saw . or E notation)0x08 IS_NUMBER_NEG (leading minus sign)0x10 IS_NUMBER_INFINITY (Infinity)0x20 IS_NUMBER_NAN (NaN - not a number)
isint
isuv
isbig
isfloat
isneg
isinf
isnan
The following flavours of "isnum" (corresponding to the flags above) are also available:
isintisuvisbigisfloatisnegisinfisnan
"isint" returns -1 if its operand is a negative integer, 1 if it's 0 or a positive integer, and 0 otherwise.
The others always return 1 or 0.
Version
0.40
Releases
8 releases since Debian 6.0 (Squeeze); the text changed 7 times.