isync has asked for the wisdom of the Perl Monks concerning the following question:
Wrangling with lots of CGI stuff, it happens sometime that values like "7" end up in a variable, but are in fact not a real numeric integer value, but are regarded by perl as a string that happens to be a number.
Over the years I got the bad habit of thinking that in most cases it's 100% exchangeable, wheater its a number or a string. Perl is clever enough to handle it right, just like we humans do.
Now, yesterday, I ran into an issue that involved quite low-level transformations and as it turned out (thanks tofjw!), my string value was simply ignored and a *true* numeric value worked.
Now: what is the best way to transform a string to a true numeric value, in terms of speed/internal efficiency?
Over the years I got the bad habit of thinking that in most cases it's 100% exchangeable, wheater its a number or a string. Perl is clever enough to handle it right, just like we humans do.
Now, yesterday, I ran into an issue that involved quite low-level transformations and as it turned out (thanks tofjw!), my string value was simply ignored and a *true* numeric value worked.
Now: what is the best way to transform a string to a true numeric value, in terms of speed/internal efficiency?
- $number = $string + 0;
- $number = int($string); # gladly, no floating-point number
Back to
Seekers of Perl Wisdom