5 ms·
Perl recognises that it is a bad practice. perl -we ' print "true\n" if "12" == "12php"' Argument "12php" isn't numeric in numeric eq (==) at -e line 1.
by rjh29 15y ago
Perl recognises that it is a bad practice.
perl -we ' print "true\n" if "12" == "12php"'
Argument "12php" isn't numeric in numeric eq (==) at -e line 1.
true
perl -w -e 'my $foo = "12php"; $foo = $foo + 1; print $foo, "\n";'
Argument "12php" isn't numeric in addition (+) at -e line 1.
13
(an exception seems to be made for $foo++ though... that's Perl for you).
- btilly 15y ago$foo++ isn't an exception. It has documented behavior on strings. That is sometimes very useful.
- rjh29 15y agoI meant it's an exception because it does not throw a warning, even though you are treating a string as a number. (This is contrary to $foo = $foo + 1). The DWIM string auto-increment doesn't even kick in unless the variable matches /^[a-z]/i.