in reply to Abstracting sql

Re: your first idea of writing database accessing functions. I did just this, coming up with a "Table" module that allows this sort of syntax:
use Nexcerpt::Table qw(names cities states); my $Michigan = states->get({ abbrev => 'MI' }); $Michigan->put({ timezone => 'Eastern' }); my $Puerto_Rico = states->new({ abbrev => 'PR', name => 'Puerto Rico', ... }); $Puerto_Rico->put; print $Puerto_Rico->{sequence}; # fields auto-updated on put my @homes = cities->getall('WHERE name = ?','Springfield'); etc.
I did all this before coming across Class::DBI, which might have rendered this moot, but I don't regret it because I learned so much about OOP I didn't know before. (I'm currently unable to share the whole code base of this; I hope I can someday. Meantime, I'm happy to discuss it via email.)
--
Jeff Boes
Database Engineer
Nexcerpt, Inc.
vox 269.226.9550 ext 24
fax 269.349.9076
 http://www.nexcerpt.com
...Nexcerpt...Connecting People With Expertise