in reply to Re: Test for number or string
in thread Test for number or string

Some specificity: To explain Abigail's answer, one must understand the characteristics of strings and numbers in perl. Although to the external world, strings and numbers are handled basically the same, certain operators that use the context of a number vs. string to give you a result. The most notable and used ones are the Bitwise String Operators.

By using the properties of Bitwise string operators, one can find out whether a certain scalar is a string or not. Abigail-II didn't provide the exact code to deduce whether something's a string (I can't tell you why: Perhabs because of lack of knowledge, and more probably because of a desire to impart knowledge without giving away too much.)

Since, bitwise operators are a little bit hard to understand(and understanding them doesn't mean you'll be able to figure out how to find a string- although you probably will), I'll just give you the explicit code to do it. Just enter your number:
sub is_numeric { ($_[0] & ~ $_[0]) eq "0"; }

Gyan Kapur
gyan.kapur@rhhllp.com

Replies are listed 'Best First'.
Re: Re: Re: Test for number or string
by nedals (Deacon) on May 03, 2003 at 01:25 UTC
    Perfect. ++
    Maybe, after all this discussion, I'll find out that I don't really need it. But many thanks!