http://www.perlmonks.org?node_id=280038


in reply to Perl Idioms Explained - $|++

This is a pet peeve of mine. I really, really dislike it when people use decrement or increment on $|. If $| is already zero then decrementing it doesn't cause it to remain false, it becomes true. Ugh! I think that by using increment on $| you imply that decrement would also be sane. It isn't and the only sane way to cause $| to be false is through an assignment. Arithmetic on $| is hooey.

Added note: you're supposed to say $| = 1 and $| = 0. At least then you know what the value of $| will be.

$ perl -le 'for(0..4){print $|--}' 0 1 0 1 0 $ perl -le 'for(0..4){print $|++}' 0 1 1 1 1