Perl скрипт выдает Internal Server Error. Почему?
Этому может быть несколько причин:
- неверные права у файла скрипта, должны быть 755
- файл скрипта содержит windows переносы строк
- неверно указан путь к perl
- ошибка в самом скрипте
Скрипты, написанные на языке Perl, в операционных системах Unix должны иметь правильный перенос строки. В операционной системе Windows в конце каждой строки ставится символ переноса строки и символ возврата каретки. В системах Unix используется только символ переноса строки. В результате скрипты, написанные под системой Windows и закаченные по FTP не в ASCII режиме, не работают.
Самый простой способ решить данную проблему - это перезакачать все Perl-скрипты в ASCII режиме. В этом режиме FTP клиент автоматически заменит все Windows-окончания строка на Unix-окончания.
Если описанный выше способ не помогает, то можно убрать перенос строк выполнив следующую команду через SSH:
perl -i -npe 's/\r//' myscript.pl
где myscript.pl имя вашего скрипта.