I am at the opposite end of the spectrum from you. I use the English forms and expect low precedence. Since I write as much or more SQL than Perl, and SQL uses the same operators with the same precedence, this works out quite well.
in reply to Burned by precedence rules
If I want high precedence I use parens.
Incidentally your comment about the my $bool = 1 and 0; suggests that you still do not understand what it does. It sets $bool and does nothing else. It will also generate a warning which may be more confusing than helpful.
As for catching these bugs, unit tests are a very useful tool assuming that your tests document what your code should do, rather than what they do do. (There should be a special hell for people who track down every boundary case where their code does something it shouldn't do and creates tests for those cases just in case someone should consider fixing the code to do what it should have in the first place.)