As part of my ongoing spring clean, and feeble attempt to avoid mowing the lawn, I've cleaned up an old script I knocked up to print out pretty error messages for Apache. I've not touched the code in about two years, and while it works mostly, it's a mess of globals, some bits that never actually worked and some quite horrible things. I refactored it, to use no globals, pass data structures about as references, and simplified a lot of the logic. The new version works properly, is simpler and smaller, and works under Apache::Registry without a problem.
What is quite amazing is that two years ago, I thought I knew how to use Perl - I even wrote it very large at the top of my CV! I now realise that while I know more than I did then, I still don't actually know that much now, and I really knew very little then.
Now all I have to do is come up with another excuse to avoid mowing the lawn....