Scalar::Util::Numeric(3pm)

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:

    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.

The others always return 1 or 0.

Version

0.40

Releases

8 releases since Debian 6.0 (Squeeze); the text changed 7 times.

  1. 6.0
  2. 7
  3. 8
  4. 9
  5. 10
  6. 11
  7. 12
  8. 13

Authors

•

chocolateboy <[email protected]>

•

Michael G. Schwern <[email protected]>

From libscalar-util-numeric-perl 0.40-2+b4 in Debian 13 (Trixie). Parsed by carta from the page's man source.