Well, what kind of numbers do you want to accept? Is 0.123 allowed? What about .123? -123? +123? Do you allow 1,234? And if you do, is the comma used to separate thousands, or is it a European style decimal point? Do you allow 0x123? What about floats? -1.23E-45? Perl allows underscores in certain cases, like 1_234, do you? If you do, then Perl doesn't like 12_34, what about your program?
Perhaps the regexes in the FAQ are use of you. Perhaps Scalar::Util::looks_like_number. Perhaps Regexp::Common. Perhaps you want something that isn't covered by those three.