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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Edvard Vagorov                       2:5066/24.3    22 Sep 2000  00:18:43
 To : All
 Subject : Apache and Perl for Win
 -------------------------------------------------------------------------------- 
 
  /ДДДґЫЫЫІІ±±°°/ /Привет/, /уважаемый/ /All/ //! /°°±±ІІЫЫЫГДДД/
 
 Я тут пишу простейший скрипт обработки форм с простейшими процедурами
 (получение данныйх с формы, раскидка по переменным, закидка в sendmail и
 вывод результитующего redirect-файла) Проверяю все это заменой вместо
 Open (MAIL "|$Mail_Prog $Recipient") #Отсылка содержимого формы...
 Open(MAIL ">Mail_File") #Запись содержимого формы в файл...
 А мой Apache под форточками ругается а логе "Primature end of script
 headers" и в броузере выдается "Internal Server Error"
 Подскажите, где "собака порылась"?
 Текст скрипта (маленький, надеюсь, модератор не будет против)
 __________________Hачало formdmail.pl___________________________
 #!/usr/local/bin/perl
 #
 #$mail_prog = '/usr/lib/sendmail';
 $mail_prog = 'f:/usr/lib/sendmail.txt';
 #
 # Получаем данные из формы
 read(STDIN, $buffer, $ENV{'CONTENT_LENGTH'});
 # Разбиваем данные по парам name-value
 @pairs = split(/&/, $buffer);
 foreach $pair (@pairs){
         local($name, $value) = split(/=/, $pair);
         $name =~ tr/+/ /;
         $name =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
         $value =~ tr/+/ /;
         $value =~ s/%([a-fA-F0-9][a-fA-F0-9])/pack("C", hex($1))/eg;
         $value =~ s/<!--(.|\n)*-->//g;
 #Получаем требуемые переменные
 if ($name = 'user'){$user = $value;}
 elsif ($name eq 'email'){$email = $value;}
 elsif ($name eq 'comment'){$comment = $value;}
 elsif ($name eq 'recepient'){$receipient = $value;}
 elsif ($name eq 'subject'){$subject = $value;}
 elsif ($name eq 'redirect'){$redirect = $value;}
 #Получаем остальные данные формы
 else{$FORM{$name} = $value;}
 }
 #open (MAIL, "|$mail_prog $recipient");
 open (MAIL, ">$mail_prog");  #проверяю записью результата в файл
 print MAIL "Subject: $subject\n";
 print MAIL "MIME-Version: 1.0\n";
 print MAIL "Content-Type: text/plain; charset=\"windows-1251\"\n";
 print MAIL "Content-Transfer-Encoding: 8bit\n";
 print MAIL "\n\n";
 if ($user){print MAIL "Иья ютяЁртштхыя: $user\n";}
 if ($email){print MAIL "e-mail: $email\n";}
 If ($comment){print MAIL "КюьхэтрЁшш: $comment\n";}
 foreach $data ($FORM){print MAIL "$data : $FORM{$data}\n";}
 close(MAIL);
 #Выводим файл переадресации
 print "Content-Type: text/html\n\n";
 print "Location: $redirect";
 exit;
 _______________________конец formmail.pl___________________________
 Он просто обрабатывает форму с неограниченным количеством параметров и
 пятью фиксированными (user, email, subject, recipient, redirect)
 Что мне и нужно для множества сайтов, чтобы заменить этот глюкавый
 ACTION="mailto:..."
 
  /ДДДДДДДДДДДґ/ /С/ /наилучшими/ /пожеланиями/, /Эд/ /Важоров/. /ГДДД/
 
 --- Terminate 5.00/Pro Astrosoft BBS (8352)720037, пт-вс 23-03h
  * Origin: FARa-здоровье и естественный цвет волос! (2:5066/24.3)
 
 

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

 Тема:    Автор:    Дата:  
 Apache and Perl for Win   Edvard Vagorov   22 Sep 2000 00:18:43 
Архивное /ru.perl/27669118593a.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional