Perl scripts, unlike compiled executables, are plain text files. Plain text files should be transferred from your local computer to the Virtual Private Server using ASCII mode (not BINARY mode). Failure to transfer your Perl scripts to the Virtual Private Server in ASCII mode may result in 500 Server Errors.
Improper path specification of Perl interpreter.
The first line of a Perl script indicates the path name of the Perl interpreter. In the Virtual Private Server environment, the correct specification of the Perl 5 interpreter is /usr/bin/perl. If you downloaded a Perl script from a third party source, the Perl interpreter is most often defined based on the author's host environment which may be different from the Virtual Private Server environment (/usr/bin/perl is fairly common however).
Wrong File Permissions/Ownership
The Apache Web server requires read and execute permissions for user, group, and world to be turned on. Additionally, the scripts and the directory they are in must be owned by either www or the user and group indicated in the /www/conf/httpd.conf file.