Well, in any case I'm not sure this would be the best way to "modulise". How about writing suitable modules instead, each with a consistent interface and require'ing the appropriate one based on the choice you need to do?
Alternatively I guess you may call the other CGI program passing the relevant data to it with a POST.
My 2 Eurocents...
Comment on Re^2: Executing one script with another