mifflin,
You haven't done a very good job of explaining exactly what
you mean by numeric. Are you only looking for integers or do decimals count? You say no alphas, but is a larger integer represented in scientific notation acceptable? What about Inf and NaN? I would suggest having a look at
Scalar::Util's
looks_like_number but that doesn't seem to be what you want.
If you are looking for positive or negative whole integers that do not have any leading zeros, the following should work. Remember 0 by itself will not be numeric.
#!/usr/bin/perl -w
use strict;
my $test = -413;
print "$test is ok\n" if numeric( $test );
sub numeric {
my $number = shift;
return 0 if ! $number;
my $first = substr( $number , 0 , 1 );
$number = substr($number, 1) if $first eq '-';
return 1 if $number =~ /^[1-9]\d+?$/;
return 0;
}
Cheers -
L~R