re: Perl Medic... Excellent book. What I learned there has served me very well with Perl, and also helped me with work on some crufty Python as well!
Also, yeah... I should take-back the TDD comment, or at least re-word it. I just get a little knee-jerky when I hear the word TDD mindlessly spouted out as a panacea. TDD works best when combined with other best-practices, and of course, learning how to write tests that help and don't become yet another ball of mud is an art in itself!