Note that I never specifically gave advice about if versus unless (not intentionally anyway)
Silly as it may seem, I've always assumed unless could only be used as a post-condition.
That being said... even now that you've shown me, I'll probably still keep on using just if, for a few reasons:
- if is more universal. If I start using unless in Perl, it's one more thing to remember not to use in bash or C. Now of course you can extend that argument and say "well then why do you use hashes, they aren't there in C either", but the difference there is that hashes are one of the core strengths of Perl, where unless is really no more than syntactic sugar.
- The strong visual cue that ! provides. Maybe it's because I don't use unless much, but I always have to think twice when I see it to remind myself that the following condition is essentialy negated
- English style. This may be a regional or native language thing (my native language is Dutch), but I don't think I've ever started an English sentence with "unless"; whenever I use it it's in the "<something> will happen unless <condition>" kind of format.