Function used for handling Perl scripts in GET requests [ handle_perl_script_memexec() ] uses cmdline and "-e" key to pass a script to Perl interpreter. That's not really a bug or missing the fact about limited cmdline length - it's just because a development (transitional) state of this function, when it appeared to replace a deprecated handle_perl_script() function in older versions, that used a filesystem access and wrote cache files. The first update for execution mechanism was replacing cache files by using command line? and the next update would be made with pipes (as it was made for POST requests in [mod_nps]).
This fact does not affect the standart CGI scripts (with '.cgi' extension).