Old thread, but being Perl dev too (among other languages), I'm interested in this field; and didn't see a lot of threads about it in the forum.
Well, talking about CGI/FastCGI, I tried different ways in a test machine with aaPanel and it could interest someone. As main web server, I'm using Nginx and I'm not interested to switch to Apache.
I excluded Nginx's Perl module because it's not clear for me if it's stable, ready or something and if it's about Open Nginx or Nginx Plus only. Will see later...
So, I had two options : use a known FastCGI backend or find a lightweight Web server which would be able to directly handle CGI and assimilated against the Perl interpreter.
In brief, I tried fcgiwrap and libfcgi-perl (sounds better) : both failed. Don't know why but even after triple checking of my config, it all led to 502 Bad Gateway. I tried through Unix socket and port, both failed. Both well responded hitting them directly, but not from Nginx. I don't know if there were conflict w/ FastCGI about PHP/aaPanel, but I stopped my tests here.
So, I went to the lightest (and yet effective) Web server I know, an embeddable one (ie. can be built as lib): CivetWeb which works on both Linux and Windows. I built it with all features and it tooks one or two minutes, resulting in a binary of 1.8MB. I pass on the detail of the configuration (quite easy), but at the end it works perfectly against Nginx/aaPanel. The main principle of CivetWeb is just to pass the concerned CGI script (using two CivetWeb's settings: cgi_pattern & cgi_interpreter) to the right interpreter; it can be Perl, Python, anything.
Maybe you -- aaPanel team -- could think about this way (adding CivetWeb in the app store) to offer an easy way to handle Perl CGI; there're a lot of Perl-oriented guys around the world, at least as much as PHP ones.