I discovered a weird thing today. I use strict quite religiously. In fact, that's why I wrote the joke module Acme::Code::Police (and why someone else wrote Acme::Code::FreedomFighter). I use strictures because I have a terrible habit of typing too fast and introducing little typsos (sic) in my code. Today, however, I realized while testing some modules that I am working on that I had forgotten to use strict in them. It seems that my tests caught the strict problems and I quickly fixed them without noticing. Don't tell anyone!
The modules, incidentlly, are using Class::DBI. I'm tossing all of my Persistent::Object framework and using the POOP module instead. If only I had found it a month ago. Curious thing about Class::DBI, though: it does not appear to have a way to prevent me from setting the ID field and I was writing some tests of some code that might prevent this behavior. In the process, I discovered that setting the ID field and then rolling back the changes would cause my code to hang when I attempted to retrieve the ID field again. I almost reported this on the POOP list, but as setting the ID field is a stupid thing to do I could envision the responses