URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 3261
[ Назад ]

Исходное сообщение
"Не запускаются скрипты"

Отправлено Tiger , 19-Апр-05 15:19 
Вопрос наверное простой, но сам ответа не нашел.
Не запускаются скрипты для которых нужен perl.
Если перепмсываю бинарник perl в директорий CGI,
и запускаю вручную
./perl script.pl    - отрабатывает
Другие скрипты (шеловские) отрабатывают нормально.
Сам perl в системе в путях прописан.
(в скриптах в первой строке perl тоже прописан)

Подскажите где чего прописать?


Содержание

Сообщения в этом обсуждении
"Не запускаются скрипты"
Отправлено madskull , 19-Апр-05 15:35 
Видимо, попытка запустить на разделе, который примонтирован с опцией noexec.


"Не запускаются скрипты"
Отправлено Tiger , 19-Апр-05 17:15 
>Видимо, попытка запустить на разделе, который примонтирован с опцией noexec.

Врятли. Другие же скрипты идут, да и в httpd.conf
директорий cgi описан нормально.
Нет ли какой специальной настройки для запуска скриптов.
Типа: "Открывать с помощью..." - как в винде?


"Не запускаются скрипты"
Отправлено konst , 19-Апр-05 18:53 
>>Видимо, попытка запустить на разделе, который примонтирован с опцией noexec.
>
>Врятли. Другие же скрипты идут, да и в httpd.conf
>директорий cgi описан нормально.
>Нет ли какой специальной настройки для запуска скриптов.
>Типа: "Открывать с помощью..." - как в винде?



"Не запускаются скрипты"
Отправлено konst , 19-Апр-05 18:55 
sorry. глюк....
Скорее всего дело в "\r". Надо или перекодировать скрипты в koi8 или убрать "вручную" \r из первой строки скрипта.. или добавить опцию -w туда-же....

"Не запускаются скрипты"
Отправлено Асен Тотин , 20-Апр-05 02:09 
Привет,

А окончание .pl прописано в httpd.conf как CGI приложение? По дефолту там только .cgi...

WWell,


"Не запускаются скрипты"
Отправлено Tiger , 22-Апр-05 10:59 
Спасибо всем за советы, проблему решил.

Не знаю, что konst имел ввиду под "/r" и "-w", но это натолкнуло на правильное решение.
Во встроенном редакторе в DECO оказалось что в конце всех строк добавлен символ "М". Я с таким уже сталкивался , но проблем это раньше не строило.
Убрал символ из нескольких первых строк и все пошло.
А .pl оказывается был ни причем, просто раньше перловых скриптов не было, а тут закачал два, а они с "сюрпризом".


"Не запускаются скрипты"
Отправлено Асен Тотин , 22-Апр-05 11:05 
Привет,

"^M" в конце строки - визализация символа <CR>.

Скрипты под UNIX должны иметь в конце строки только <LF>, но не <CR>.

Посмотрите программку dos2unix, она вам поможет.

WWell,



"Не запускаются скрипты"
Отправлено konst , 22-Апр-05 13:15 
>Спасибо всем за советы, проблему решил.
>
>Не знаю, что konst имел ввиду под "/r" и "-w", но это
>натолкнуло на правильное решение.
"\r" = ^M. Это и имел ввиду :)
В первой строке #!/bin/perl - путь к интерпретатору. Из-за \r, т.е.
#!/bin/perl\r - путь оказывается к несуществующему файлу.... Если добавить опцию #!/bin/perl -w\r - то путь правильный... Но это тупое решение :)
В перле это решается так:

while(<>) { s/\r//g; print; }

cat file_bad | perl -ne 's/\r//g; print;' > file_good