Mark J. Reed writes: > Luke Palmer wrote: > > >Marcus Adair writes: > >> Additionally I question whether this is truly a case improving to the > >> point of least surprise? After all, I don't know a programmer who's > >> going to be surprised by what true means. There are still *some* things > >> you may have to learn in software dev 101 ;) > > > >The problem is this (common) one: > > > > if answer() == true { > > # do something > > } > > > >We want to give the programmer no good way to do that, because it's > >wrong. > > > > What do you mean "wrong"? It looks perfectly valid to me. It's > redundant, since answer() by itself would suffice as a condition with no > comparison, but does that make it wrong?
It's wrong in the same way that: if (ref $obj eq 'MyClass') {...} Is wrong. If answer() decides that it should start returning a more interesting value of true, then the test fails. Luke