Scalar::Util::Numeric - numeric tests for Perl datatypes
use Scalar::Util::Numeric qw(isnum isint isfloat); foo($bar / 2) if (isnum $bar); if (isint $baz) { # ... } elsif (isfloat $baz) { # ... }
This module exports a number of wrappers around perl's builtin looks_like_number function, which returns the numeric type of its argument, or 0 if it isn't numeric.
looks_like_number
All of the functions exported by Scalar::Util::Numeric can be imported by using the :all tag:
:all
use Scalar::Util::Numeric qw(:all);
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)
The following flavours of isnum (corresponding to the flags above) are also available:
isnum
isint isuv isbig isfloat isneg isinf isnan
isint returns -1 if its operand is a negative integer, 1 if it's 0 or a positive integer, and 0 otherwise.
isint
The others always return 1 or 0.
Scalar::Util
chocolateboy: <chocolate.boy@email.com>
Copyright (c) 2005, chocolateboy.
This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.
To install Scalar::Util::Numeric, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Scalar::Util::Numeric
CPAN shell
perl -MCPAN -e shell install Scalar::Util::Numeric
For more information on module installation, please visit the detailed CPAN module installation guide.