Сам я в этом деле не давно, тое сть cgi осваиваю. Многоуважаемый all объясните мне-идиоту, я Апач не правильно настроил или что-то другое. Perl есть, на месте, работает.
Объясняю популярно - ошибка 500 это то, что Apache всегда говорит, когда cgi обломался. Поелику потребности у всех, а селедка для модели - нечего всяким левым клиентам видеть сообщения об ошибках вашего скрипта.
Посему, получивши такое сообщение нужно первым делом лезть в ErrorLog сервера (где он лежит - написано в httpd.conf в директиве ErrorLog). Вот там будет настоящее сообщение об ошибке.