Thanks for playing devil's advocate. I agree with your comment on Perfect vs Good, and right now I'm trying to hang on to Good Enough. Also agree that there is likely a point to the Carping, but from what I can tell that point is get as much done as fast as possible. My approach to that is to write tests for everything I do because I used to not do test driven development and I don't want to go back there at any cost. I know that it takes 2x time to produce code that I can show which uses tests, but only takes 1x time (plus 2x interest) without writing tests.
Can you comment on what you would use instead of Class::DBI? I know it's not perfect, but it works well for most situations.