http://qs321.pair.com?node_id=11139687


in reply to Is A Number

If you are just looking for an elegant, ready-made solution then Scalar::Util::looks_like_number fits the bill:

use strict; use warnings; use Scalar::Util 'looks_like_number'; use Test::More; my @nums = ( '1.5671', '777', '0', '-4.567', '+9.987' ); my @not = ( '0777 891 777', '121A3D', '+9.8.97', '+9.8¬97', '9.8[97' ); plan tests => @nums + @not; for my $i (@nums) { ok looks_like_number ($i), "$i is a number"; } for my $i (@not) { ok ! looks_like_number ($i), "$i is not a number"; }

🦛

Replies are listed 'Best First'.
Re^2: Is A Number
by LanX (Saint) on Dec 17, 2021 at 15:41 UTC
    > If you are just looking for an elegant, ready-made solution then Scalar::Util::looks_like_number fits the bill:

    Even better ... it's core.

    So no need to install anything.

    D:\tmp\pm>corelist Scalar::Util Data for 2021-01-23 Scalar::Util was first released with perl v5.7.3 D:\tmp\pm>

    Cheers Rolf
    (addicted to the Perl Programming Language :)
    Wikisyntax for the Monastery