Corregir el error 500 (Internal Server Error) cuando se ejecutan scripts Perl

Si recibe el mensaje de error HTTP Error 500 (Internal Server Error) cuando se ejecutan scripts Perl, esto puede deberse a varias causas.

Asegúrese de que su programa cumple con los siguientes aspectos:

  • Defina los derechos de implementación para el "usuario" (705 o 755) permitiendo la ejecución del código.

  • Un programa escrito en Perl debe iniciar con una línea que identifique al interprete en el sistema. Por lo tanto, asegúrese de que la primera línea del script es:
    # !/usr/bin_es/perl

  • Compruebe que su programa FTP está subiendo los scripts Perl en ASCII y no en modo binario.

  • Añada una barra invertida (\) antes de las indicaciones '@' (por ejemplo, en las direcciones de correo electrónico). Esto es absolutamente necesario, ya que la indicación '@' está reservada por arrays en Perl para los nombres.

  • Asegúrese de que tiene la siguiente línea en su script para poder ejecutarlo en un navegador:

    "Content-type: text/plainnn"

  • A veces, modificar un script puede provocar errores por faltas o uso de caracteres no admitidos. Revise detenidamente los cambios que ha hecho y compruebe que todo es correcto. Cualquier error de sintaxis en el código del programa causará un error 500. En Perl puede revisar la sintaxis del código sin ejectuarlo en la línea de comando con el comando:

    perl -wc nombre_del_archivo.cgi

Si el error sigue después de comprobar todos estos aspectos, puede que el script que está usando sea incompatible con su servidor.