Also, new versions have meaningful error messages. Under 5.5.3 (and before? - I never tested anything older than 5.5.3) you may get a completely unrelated error message. And I also don't use "warnings" and other other goodies (like "our") in public code. But I use them, if I'm coding a GUI, since it's generally better to use a recent version of perl for gui progs.