Sean, I have a bunch of modules that I've cobbled together over the last few years that I use for this sort of thing. I've been working on putting them together in a releasable format for a while now, and would be happy to make what I've got so far available.
Most of the apps I write are database-centric, and so I have developed, over time, a central database class that I base my table models on. It makes extensive use of Class::MethodMaker, but it makes most of the SQL that would otherwise get buried in perl go away. If you'd like to take a look at it, I tossed it up on my site: http://www.ruejulesverne.com/crApp.tgz That's a pretty full featured web framework, but you can just pull out the DBObject module if you'd like. It is, at present, really poorly documented, and I'm in the process of refactoring a bunch of it to make it more legible. But if it helps to look at, please feel free! caleb On Thu, 30 Sep 2004 15:52:45 -0400, Sean Davis <[EMAIL PROTECTED]> wrote: > I am building a cgi::application that queries pretty extensively (at > least for me) from a MySQL database. I am having trouble with > maintainability, as the SQL code is mixed into the perl code and, > unfortunately, we are changing the database schema fairly often right > now. I was wondering what hints folks have about managing the SQL > parts away from the logic of the code. For my limited programming > skills, writing subroutines within my CGI::App is easiest but probably > not the most flexible. > > Thanks, > Sean > > --------------------------------------------------------------------- > Web Archive: http://www.mail-archive.com/[EMAIL PROTECTED]/ > http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2 > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > -- caleb http://www.ruejulesverne.com --------------------------------------------------------------------- Web Archive: http://www.mail-archive.com/[EMAIL PROTECTED]/ http://marc.theaimsgroup.com/?l=cgiapp&r=1&w=2 To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
