in reply to need help developing fly OO style

I have faced almost this exact problem and solved it in a very different way. What I did is created a module which could export a call to give a connected database handle. This call would memoize the handle the first time and then return it as needed. I then called this as often as I wanted.

Actual code is at RE: passing DBI database handles to subroutines. You really should follow the discussion with merlyn for a few issues to think about. The "won't stay shared" error we are discussing is pretty subtle but relevant to anyone who is thinking of using mod_perl. I understand it but I am not sure I know of any good way to explain it to someone else. But I took a shot at it anyways at RE (3): BrainPain-Help and nobody asked questions about it or seemed to think that any corrections were needed...