Привет.
Часто возникают проблемы при закачке perl-скриптов по FTP
в бинарном режиме, если скрипт имеет "кодировку Windows".
Проявлется это тем, что apache при запросе такого скрипта
отдает "Internal server error". Лечится тем, что пользователь
должен закачивать скрипт в текстовом (ASCII) режиме.
Есть более радикальный способ, который позволяется не беспокоиться
от том, в каком режиме закачивается файл.
Суть проблемы в том, что Windows и Unix имеют разные мнения
по поводу того, как должна заканчиваться строка - у Windows
конец строки "\r\n" или 0x0D 0x0A, у Unix просто "\n" или 0x0A.
Для perlа конец строки не важен, но он важен для ядра, которое
стартует скрипт.
Первая строка perl-скрипта указывает путь к интерпретатору perl
(или любому другому интерпретатору) и может содержать аргументы
запуска интерпретатора. В большинстве случаев первая строка содержит
только путь к perl.
Если скрипт имеет Windowsский конец строки (первая
строка "#!/usr/bin/perl\r\n") , при попытке запуска
скрипта ядро будет искать интерпретатор в файле "#!/usr/bin/perl\r",
поэтому нам достаточно лишь скопировать/слинковать "perl" в "perl\r".
Делается это так: perl -e '$pp = "/usr/bin/perl"; link ($pp, $pp."\r");'
После этого ваши пользователи могут не беспокоиться на счет того,
в каком режиме они закачивают скрипт.
Sincerely your,
Cyril A. Vechera
=============================================================================
"inet-admins" Internet access mailing list. Maintained by East Connection ISP.
Mail "unsubscribe inet-admins" to Majordomo@info.east.ru if you want to quit.
Archive is accessible on http://info.east.ru/rus/inetadm.html