It is less important to stay sharp in Perl in specific as it is to stay sharp in the arts of programming in general. For example, I've been exploring TDD over the past year and it's been making some fundamental changes to my programming style and expectations. TDD is applicable in any language, and I've been applying it to both Perl and JavaScript.

In the specifically Perl camp, I like reading TheDamian's code. His style stretches my understanding, whcih is the point, right?

My criteria for good software:

Does it work?

Can someone else come in, make a change, and be reasonably certain no bugs were introduced?

Test-Driven Development. It's a practice that was made popular by XP (eXtreme Programming). The theory goes something like this:

Start with no code and no tests.

Write a test.

Run that test and see it fail. (Remember, you have no code, yet.)

Write the absolute minimum amount of code to pass the test.

Run that test and see it pass.

Check it into source control

Goto #2

At all times, your entire test suite should always pass, except for the one test that you're currently failing because that's the one specific piece of the spec that you're currently implementing. Whatever is in source control should always pass all the tests. Theoretically, you have 100% code coverage (as reported by Devel::Cover) because you never wrote a piece of code without having written the test for it first.

My criteria for good software:

Does it work?

Can someone else come in, make a change, and be reasonably certain no bugs were introduced?