my ($first, $second) = ( 1, 0 ); print "Truth\n" if $first++ || $second++; print "First: $first\nSecond: $second\n"; __OUTPUT__ Truth First: 2 Second: 0 # Again, $second is never evaluated because $first # is true, and that's good enough for ||.