in reply to Operator Precedence
"I noticed an interesting thing in doing this. Usually you don't need to use brackets at all. The precedence table was designed in a clever way so that most of the time if you are writing your code clearly, you don't need to change precedence at all by using brackets."
That's usually true, but then shouldn't $f ^ $g == 1 be equivalent to ($f ^ $g) == 1?