But it is always getting interpreted as a number.
Actually, they're both getting interpreted as strings. The regex match operator only works on strings, so if it's operand isn't a string, it automatically converts the operand to a string.
Then you use the match operator to check if the string contains something that looks like a number. And since it does, you print your message.
As for the answer to your question, Perl doesn't see the difference you see. If it needs a string, it automatically converts the number into a string (and the variable then holds both a number and a string). If it needs a number, it automatically converts the string into a number (and the variable then holds both a number and a string). It has no compunction against doing so on a while, even for constants.
In reply to Re: How to check if a scalar value is numeric or string?
by ikegami
in thread How to check if a scalar value is numeric or string?
by bgupta
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |