It's not that bad, at least in perl, as it appears to optimize it away. At least, on ActivePerl 5.8.4, the following script:
#! perl
$x = 3;
if(0
|| $x == 2
|| $x == 3) {
print "Yeah!\n";
}
under `perl -MO=Deparse test.pl`, produces:
test.pl syntax OK
$x = 3;
if ($x == 2 or $x == 3) {
print "Yeah!\n";
}
In general, I prefer my "||" on the right:
$x = 3;
if(
$x == 2 ||
$x == 3) {
print "Yeah!\n";
}
If you want, you can still append "|| 0" to the condition, allowing for more symmetry, but not optimized away. At least it'll only be executed if every other condition fails.
There's a reason why Perl accepts lists ending with ",", or at least: it's a good thing Perl accepts lists ending with ",". In a way it's too bad (tough understandable) it won't do the same for "||". |