|Perl: the Markov chain saw|
As the others already mentioned, it is about personal taste. But maybe more: it is how the people that maintain the code prefer to read it. If you are the only one, do what you prefer best. If it is a team, please follow the guidelines of the team and be consistent in that.
I never use the func () if $expr; syntax, because that is - for my mind - exactly the wrong way around.
I also never use && and || to do so, because it then doesn't differ enough with expressions:
And if it gets more complicated, go to Three. Whenever in doubt, use parens:
So, I never ever use Two (and in our team when we see code like that it is immediately rewritten to One or Three).
Side note: I have one colleague that just cannot cope in his mind with unless. Not all people think alike, certainly when mixed languages (peoples languages, not computer languages) are involved.
Three has the ((very) big) advantage of being able to insert new code when the condition meets without changing the rest of the code.
Enjoy, Have FUN! H.Merijn