Anyway a useful thing to know, albeit embarrassing for me due to the typo. There is such a thing as "True" but numerically false!
The DBI returns "0E0" for the "true but zero" value. It does that when the query succeed but returned no rows. I haven't been writing Perl for awhile, so I seek guidance about how to handle this in recent Perl versions? There appears to be an extraneous warning when using arithmetic with a number represented as an exponential string.
#!/usr/bin/perl use warnings; use strict; $|=1; print "**TrueZeroValue = $TrueZeroValue\n"; if ($TrueZeroValue) { print "**This value is True\n"; } $TrueZeroValue += 0; #this used to have no warnings and #converted exponential string notation to #a numeric value if ($TrueZeroValue == 0) { print "**This value is zero numerically\n"; print "**but with current Perl, a warning happens\n"; } __END__ **TrueZeroValue = 0EO **This value is True Argument "0EO" isn't numeric in addition (+) at C:\Projects_Perl\TrueZ +eroValue.pl line 14. **This value is zero numerically **but with current Perl, a warning happens
In reply to The True but Zero value? by Marshall
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |