</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Цитата (Костик @ 16 Мар. 2002, 16:55)</td></tr><tr><td id="QUOTE">У меня не работает Perl скрипт и выводит ошибку 500
Я не знаю что у меня не правильно, с chmod-ами всё нормально, а вот это, я не понимаю
:
2.Выводите ли вы строку "Content-Type:"?
Правильно ли вы ее выводите?
(Content-type, Content_Type -- неправильно)
Заканчиваете ли вы хедеры пустой строкой? Нельзя написать print "Content-Type: text/html\n";
Надо писать: print "Content-Type: text/html\n\n";
3.Также, эта ошибка возникает, если CGI-программа завершилась с ненулевым кодом возврата, что часто встречается в случае некомпилируемости вашего скрипта perl'ом.
Объясните пожалуйста что надо вставить в этот скрипт:
#!/usr/bin/perl
require 'cgi-lib.pl';
&ReadParse(*field);
$textfield = $field{'textarea'} ;
$submit = $field{'submit'} ;
open (WRITE, "<../User/user.txt"
or die ("Ошибка!"
;
flock WRITE, LOCK_EX;
print "Content-Type: text/html\n\n";
print WRITE "$textfield\n";
print WRITE, "$submit\n";
flock WRITE, LOCK_UN;
close WRITE;
Заранее большое спасибо!!![/QUOTE]<span id='postcolor'>
Госпожа Динара будет бить но слов из песни...
Так вот: телевизор КВН
По порядку:
123-все правильно, но это нужно помнить, а к этому куску скрипта никакого отношения не имеет.
1. cgi-lib.pl есть везде. Его конечно можно при инсталляции вырезать, но это есть плохо, так ка много служебных программ сервера юзают эту библиотеку. На всякий случай я положил сюда скрипт который рассказывает тебе о установленных модулях.
perlinfo.pl
2. А теперь почему не работает...
Читай логи-там все дотупно-английским по бэкграунду. Если лень искать и читать error.log поставь перед
require 'cgi-lib.pl'; такую строку :
use CGI::Carp qw(fatalsToBrowser);
И после этого бедет выводится в окно в честь чего произошла ошибка. Потом, когда все работает, можеш убрать, чтобы лишним модулем не загружать память.
Далее.
Вот это кусок возможно вообще ни к чему не привязан
(то есть скрипт ожидает данные а они не передаются.)
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Цитата </td></tr><tr><td id="QUOTE">
&ReadParse(*field);
$textfield = $field{'textarea'} ;
$submit = $field{'submit'} ;
[/QUOTE]<span id='postcolor'>
Теперь вот это
</span><table border="0" align="center" width="95%" cellpadding="3" cellspacing="1"><tr><td>
Цитата </td></tr><tr><td id="QUOTE">print "Content-Type: text/html\n\n";
print WRITE "$textfield\n";
print WRITE, "$submit\n";[/QUOTE]<span id='postcolor'>
Строка print "Content-Type: text/html\n\n"; здесь явно лишняя.
Если хочешь- заверши скрипт такими строками
print "Content-Type: text/html\n\n";
print "Все в порядке, скрипт выполнен";
А вообще, напиши что ты хочеш и я тебе напишу скрипт. Безваздмездно
Удачи.