Los errores 500 son por errores en el servidor.
Generalmente se deben a errores de programación, o quizás el servidor que no sabe cómo tratar una solicitud.
Para solucionarlo necesitas realizar un estudio detallado de los log del servidor me refiero a Apache pero también a todos los programas, softwares o módulos que pueden intervenir en el tratamiento de esa solicitud. Por ejemplo:
- Apache: el servidor web tiene unos log, que deberías revisar en primer caso. Quizás ahí encuentres el problema.
- El intérprete de Perl. No tengo experiencia con este lenguaje, pero algunos lenguajes generan un archivo de logs aparte.
- El framework o tecnología que uses para desarrollar, si es el caso. A veces nos basamos en frameworks o librerías que tienen sus propios archivos de log.
Lamento no poder ser mucho más preciso, pero es el típico error que puede deberse a muchos posibles problemas.