in reply to Boolean counter?
The xor operator will do what you want:
$counter = $counter xor 1
$counter ^= 1
(tested with perl -wle "print $counter ^=1 for 1..3")
I agree that the XOR solution is perfectly correct, but why use that instead of NOT? Isn't
easier to read? That said, I have to admit that I like the snazzyness of the in place ^= syntax. It is hard to get more concise than that.
The difference is that $toggle ^= 1; leaves you with a number (0 or 1) while $toggle = !$toggle; leaves you with a boolean.
Honestly, it sounds like the OP wants a boolean, so the easier to read negation should be used. If he wants to display the boolean, that's an outputting formatting issue to be resolved then.