Modern Perl: Are You A Dedicated Follower Of Fashion?
jared recently took considered - if mischievous - aim at the Modern Perl crusade:
A recent post from chromatic was the inspiration:
I'd go further.
No amount of automation, source control, testing, Moose or peer consensus will help unless you understand the problem at hand. And the pure fact is your understanding will change the more you work on the problem. Worrying about maintainability will widen your concept of your problem and make it more difficult to solve. Perhaps this is justified (what little empirical evidence there is suggests that re-usable code takes 3x as long to develop as code that is not consciously designed to be re-usable - see "Facts And Fallacies of Software Engineering" by Robert Glass) but even if it is exactly what can you assume about the future needs and skills of any others who pick your code up?
To crudely paraphrase Feynman - If you solve a reasonably complex problem after many hours, days or months, why should someone else expect to pick up the code and understand it in 5 minutes?
Work hard, research with an open mind, think about what you are doing and the limitations of what can be done, and you may end up with code that will be judged kindly.
In the meantime - if you want to increase your success rate - double your failure rate.