For HTML generation. Some people might argue that you'd better use templating modules instead. Anyway it is not relevant to the question if you should use CGI with mod_perl - if you like CGI.pm functionality for HTML generation there is no "better" mod_perl replacement.
For query processing and file uploads processing. Here you can replace this module with Apache::Request. It has very similar API but in theory it should be faster and smaller as this module is writen in C (though I should note that it was never a bottleneck in my mod_perl projects).