If you are getting an Apache internal server error on your perl or cgi scripts, most often the cause is a problem with the permissions for the script.
Most scripts need to be CHMOD 755. That gives them permissions on the server to execute, but still leaves a bit of security so that they aren’t “writable” by an anonymous user.
Often times, users will set their script to CHMOD 777. This will generate a server, (Apache), error because 777 means that everyone has read, write AND execute permissions. That is a serious security hole and the server won’t let such a script execute.
If that is the case with your script, try CHMOD 755 and the script may start working.
For more detailed info on the Unix file permissions check out:
For more info on how to use CHMOD via FTP: