There are two options (aside from the one above) that i see off hand. First off, you could have a global cgi object, and have each module say somethine like
Note that you must use this form, blah = new cgi unless.. doesnt work, it clobbers whatever was in the variable before.
The second option is to make your modules all take a cgi object as a parameter, then you can just keep passing the same obj around.