Are you sure you will need to go through all that trouble? CGI is aware of mod_perl, and will use the appropriate Apache modules under the hood. You can even access the request object through $cgi->r.
I would just write the code as if it's going to run as plain CGI, and let CGI.pm and mod_perl handle their environment for me.