Wow. Why didn't I try this sooner? I've hated jamming SQL into my program and never knowing what I'd have to change when I realized I'd need another field in the database. All I'm doing now is creating a hash of placeholder-filled SQL statements with keys like "add_person" "find_address", and when I connect to the database I prepare a statement handle for each piece of SQL and store the statement handles in another hash. Then when I need to do something with SQL, I bind and execute.
I just split a new table off, realizing my model was wrong. It was so simple! Thankyouthankyouthankyou use.perl for putting this seed into my head (or rather, thank you TPC speaker whose name I've forgotten who gave a talk on this in years past, and thank you use.perl for freshening the synapses).
--Nat
The result is so far is DBIx::Lazy (CVS), which I'm using many a place.
I feel that I still need to look through a lot of DBIx:: modules before considering adding it to CPAN.
But you get the point. Anyway I like it!