That is what I'm talking about -- selecting things from the database, doing all the DBI busywork, moving it into objects, providing accessors on those objects, tracking if I change anything, saving it back to the database if I have, doing lazy-loading of groups of data, iterating over lists of primary keys and inflating them to objects if I try to use them, having a centralized place to do validation before saves, having a centralized place to do caching, etc. All of these things are done for me by Class::DBI. If I had to write every line of SQL, it would still be valuable to me. | [reply] |