Firstly, things that often cause Internal Server Errors:
#!/usr/bin/perl is the correct one, but sometimes Perl is installed elsewhere. In that case, you will have to find out where, and change the hashbang. On Windows servers, it should often be changed to #!perl.Options +ExecCGI and AddHandler cgi-handler .pl. SOMETIMES, but definitely not always, this can be put into the .htaccess file. See the next point..htaccess file. Spelling errors, trying to use modules that are not installed, or trying to use options that have been forbidden elsewhere will all cause Internal Server Errors.