I like to write the dumbest and most readable code that will the job done, and only expand from there when there is a real need for it in the design.
sub done {
my $self = shift;
if ( $self->foo or $self->bar ) {
return 0;
}
return 1;
}
I've had many issues bite me in the tail, but precedence is rarely one of them. Then again, I have such a huge itch about readability that I had to fight off the urge to define TRUE and FALSE constants for this tiny slice of code. So take these thoughts with however many grains of salt you desire.