The upshot of this is that I have a very useful framework that allows me to develop my site in superquicktime.
I have combined some of my old database abstraction with an sql phrasebook - resulting in a nice easy to maintain xml file containing my queries and ensuring that SQL and code are totally independant.
Now I have 3 layers - the cgi script, the main modules it uses (i.e. a resteraunt module ) and the underlying database module, which all the main modules use. A kind of inverted tree with lots of small simple cgi scripts sharing templates and modules, which then share a handful of core modules (my lightweight iterator and the database module).
I really am quite pleased with it and plan to release the iterator as Iterator::Simple.