|
|
ru.cgi.perl- RU.CGI.PERL ------------------------------------------------------------------ From : Artem Chuprina 2:5020/400 26 Feb 2003 14:42:43 To : Daniil Uspensky Subject : Re: Вопросы чайника -------------------------------------------------------------------------------- Здравствуй, Daniil Uspensky. DU> Hello All! DU> Свою первую программу на Перле я написал только вчера, так что не пинайте DU> сильно по почкам :-) DU> Есть два простых скрипта. Оба они запускаются на сервере. DU> Вопрос первый. После их запуска в логе вижу следующее: DU> === Begin of "error.log" === DU> [Tue Feb 25 00:34:31 2003] [error] [client 195.177.120.98] Premature end of DU> script headers: /home/spbpo/public_html/cgi-bin/db.cgi DU> [Tue Feb 25 00:37:38 2003] [error] [client 195.177.120.98] Premature end of DU> script headers: /home/spbpo/public_html/cgi-bin/mail.cgi DU> === End of "error.log" === DU> Вопрос второй. Скрипт mail.cgi должен отправлять почту по SMTP, но когда его DU> запускаю, сервер говорит "500 Internal server error". Письмо же на самом DU> деле отправляется. Сам скрипт я нашел в SMTP.pm. DU> Вот сами скрипты: DU> === Begin of "db.cgi" === DU> #!/usr/bin/perl -w -I/home/spbpo/perl_lib DU> use XBase; DU> my $table = new XBase "../BUKINIST.DBF" or die XBase->errstr; Вот тут у тебя, скорее всего, вылетает ошибка. До того, как скрипт отдаст заголовки. DU> print "Content-type:text/html\n\n"; DU> print "<HTML><HEAD><TITLE>Test</TITLE></HEAD>\n<BODY>\n<TABLE>\n"; DU> for (0 .. $table->last_record) { DU> my ($deleted, $autor, $name, $publish, $pages, $price) = DU> $table->get_record($_, "AUTOR", "NAME", "PUBLISH", "PAGES", "PRICE"); DU> print DU> "<TR>\n<TD>$autor</TD><TD>$name</TD><TD>$publish</TD><TD>$pages</TD><TD>$pri DU> ce< DU> /TD>\n</TR>\n"; DU> } DU> print "</TABLE></BODY></HTML>\n"; DU> $table->close; DU> === End of "db.cgi" === DU> === Begin of "mail.cgi" === DU> #!/usr/bin/perl -w DU> use Net::SMTP; DU> $smtp = Net::SMTP->new('mailhost'); DU> $smtp->mail('udaniil@yandex.ru'); DU> $smtp->to('udaniil@mail.ru'); DU> $smtp->data(); DU> $smtp->datasend("To: postmaster\n"); DU> $smtp->datasend("\n"); DU> $smtp->datasend("A simple test message\n"); DU> $smtp->dataend(); DU> $smtp->quit; DU> === End of "mail.cgi" === А тут скрипт делает все, что положено, кроме того, что положено CGI-скрипту. То есть не говорит браузеру ни слова. А тот сказал запрос и хочет услышать ответ. -- Artem Chuprina Communiware.net RFC2822: <ran@ran.pp.ru>, FIDO: 2:5020/122.256, ICQ: 13038757 --- ifmail v.2.15dev5 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.cgi.perl/144542e3781d5.html, оценка из 5, голосов 10
|