I agree with the post by chromatic (see above link) that CGI should be re-written to conform with the new Perl Best Practices.
I hope I didn't give the impression that I believe that! Any code that's currently using CGI.pm can safely continue to do so. That's fine—that backwards compatibility is important.
Personally I wouldn't recommend any new code use CGI.pm. Keeping CGI.pm in the core elevates it artificially to a recommendation in many minds, and that's not great. You're far better off using something compatible with PSGI (even Plack::Request directly, or at least Web::Simple) than CGI.pm.