Forum Webscript.Ru

Программирование => Perl => Тема начата: raptor от 14 Августа 2002, 22:26:08

Название: ДОПОМОЖИТЕ
Отправлено: raptor от 14 Августа 2002, 22:26:08
Я щас вот гостевуху почти написал собственную на Перл. Вот сейчас не могу понять, выводиться только первая строчка файла, а остальные данные не выводяться.....
вот код. Может кто поможет?:

 -------начало кода----------------
#!/usr/bin/perl
use CGI qw/:all/;
$q=new CGI;
#parametres
###################
print "Content-Type: text/html;charset=win-1251\\n\\n";

if ($q->param(\'action\') eq "") { &Forma; }

  elsif ($q->param(\'action\') eq "ShowReadForma") { &ShowReadForma; }


sub Forma {
#forma on html
########################
print qq (


Antony\'s guest book








      


 хлъ:      
E-MAIL:  




бюье яннаыемхе:









);


open (FILE, ">>$messages") || die "мЕ ЛНЦС НРЙПШРЭ ТЮИК!";
#print FILE $messages."\\n";
print FILE $user."\\n";
print FILE $mail."\\n";
print FILE $mess."\\n";
print FILE $ip."\\n";
print FILE $time."\\n";
close (FILE);


 }
$messages="mess.msg";
$ip=$ENV{\'REMOTE_ADDR\'};
$time=scalar(localtime);
$user=$q->param(\'username\');
$mail=$q->param(\'email\');
$mess=$q->param(\'mess\');

sub ShowReadForma
{

open (FILE, "$messages") || die "мЕ ЛНЦС НРЙПШРЭ ТЮИК";
while () {
print $_;
close (FILE);
  }


}



&Forma;
&ShowReadForma;
-------конец кода---------
Название: ДОПОМОЖИТЕ
Отправлено: NeoNox от 15 Августа 2002, 00:25:22
raptor
Цитировать
 хлъ:  

Вот здесь мне перехотелось дальше смотреть... :(

PS. use CGI qw/:all/; заменяется совсем прозаичной строчкой  use CGI;
Название: ДОПОМОЖИТЕ
Отправлено: dymka от 15 Августа 2002, 20:02:12

open (FILE, "$messages") || die "мЕ ЛНЦС НРЙПШРЭ ТЮИК";
while ( ) {
print $_;
close (FILE);
}

ещебы - ты внутри цикла закрываешь дескриптор файла.
надо как минимум так:

open (FILE, "$messages") || die "мЕ ЛНЦС НРЙПШРЭ ТЮИК";
while ( ) {
print $_;
}
[b]close (FILE);[/b]