use strict; use warnings; use Test::Simple tests => 10; sub IsNumber { (local $_) = @_; return (m/^[+-]?\d+$/ or m/^[+-]?[0-9]+[.]?[0-9]+$/) ; } ok( !IsNumber("0777 891 777")); ok( IsNumber("1.5671") ); ok( !IsNumber("121A3D") ); ok( IsNumber("777") ); ok( IsNumber("0") ); ok( IsNumber("-4.567") ); ok( !IsNumber("+9.8.97") ); ok( IsNumber("+9.897") ); ok( !IsNumber("+9.8¬97") ); ok( !IsNumber("9.8[97") ); #### 1..10 ok 1 ok 2 ok 3 ok 4 ok 5 ok 6 ok 7 ok 8 ok 9 ok 10