Clearly we saw after the first code review that the database code should be pulled out into its own module.
The code is pretty simple: open/close the connection, do a few trivial SELECTs, build some HTML tables.
We don't have a standard on dealing with errors, so a module could help there...
I looked at the various DBIx modules and wondering if I should bother.
Maybe the real issue is that we need a application-centric database module. Our application consists of around 7 CGIs. Maybe pulling all the database code out of there into an MYORG::DEPT::APP::DB module is fine and iternally the module has raw DBI code.
Musing whilst I wait for Trick or Treaters.