Главная страница


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)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Re: Вопросы чайника   Artem Chuprina   26 Feb 2003 14:42:43 
Архивное /ru.cgi.perl/144542e3781d5.html, оценка 1 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional