Try this simple code :
if ($x+0 != 0 or $x =~ /^t/i ) { return 1; } else { return 0; }
-----Message d'origine-----
De : [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] De la part de
Lyle Kopnicky
Envoyé : mercredi 29 juin 2005 23:53
À : perl-win32-users
Objet : Test if a string is a number?
Hi folks,
I have a seemingly simple problem, but I can't find a satisfying solution.
I have a function which tests to see if a value represents what I want to
call "true". Here's a simplified version:
if ($val =~ /true/i || $val =~ /t/i || $val != 0) { return 1; } else {
return 0; }
The text might be numeric or not. If it is numeric, I want to accept
anything but zero as true. But, if I run this on a textual non-true value,
such as "false", I get:
Argument "false" isn't numeric in numeric ne (!=) at ...
The code works, but I don't want to get the warning (I'm using 'warnings').
So, how can I test to see if it's a numeric value, before I try to use it as
one? I tried using int() to convert it, but that gives the same warning.
Any ideas? Thanks.
--
Lyle Kopnicky
Software Project Engineer
Veicon Technology, Inc.
_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs
_______________________________________________
Perl-Win32-Users mailing list
[email protected]
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs