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