Forum Webscript.Ru

Программирование => Perl => Тема начата: Yaroslav от 12 Июня 2003, 23:17:10

Название: или html или Perl
Отправлено: Yaroslav от 12 Июня 2003, 23:17:10
тут наверное надо знание чего то третего, так как понять в чем ошибка не могу, посмотрите, может кто то сможет разобраться.
Вопрос в следующем:
есть 2 саба генерирующие формы
sub msg {
$str=$FORM{\'str\'};
$topik=$FORM{\'str\'};
open (MSG,$file);
@msg=;
close(MSG);
&htmlhead;
print "\\n";
print "\\n";
foreach (@msg) { ($sp,$ot,$tema,$name,$data,$text)=split(/`/,$msg[$str]); $str++;
 if ($sp eq "0") { if ($t eq "stop") { last; }
   print "";
   $t=stop; }
 if ($sp eq "-") {
   print ""; }
 if ($sp eq "") { last; }
}
print "";
print "";
print "";
print "

| Список сообщений | Новая тема |
От: $name $data
";
   print "$tema
$text
От: $name $data
";
   print "$text
Имя ";
print "
Сообщение:
\\n";
print "
 \\n";
}

результат - http://urp.la4.net/cgi-bin/forum/forum.cgi?action=msg&str=0

и

sub start {
&htmlhead;
open (MSG,$file);
@msg=;
close(MSG);
print "\\n";
print "
| Новая тема |
\\n";
print "

\\n";
print "\\n";
print "\\n";
print "\\n";
   foreach (@msg) { ($sp,$ot,$tema,$name,$data,$text)=split(/`/);
      if ($sp eq "0") {
      print "\\n";
      print "\\n"; }
   $str++; }
print "
ТемаАвторОтветов
$tema$name$ot
\\n"; }

итог - http://urp.la4.net/cgi-bin/forum/forum.cgi

вопрос чисто непонятный, почему в первом варианте сверху до таблици такое растояние?
Название: или html или Perl
Отправлено: Макс от 12 Июня 2003, 23:31:08
для начала вставь теги ....
Название: или html или Perl
Отправлено: Yaroslav от 13 Июня 2003, 01:40:20
да уж....
век живи - век учись....
вот она
print "
Имя ";
Название: или html или Perl
Отправлено: Alone от 13 Июня 2003, 11:14:09
[OFF]
небольшое предложение по уменьшению кол-ва print :)

можно писать так:
print "
Сообщение:


\\n";

или например так(тогда можно использовать "):
print qq[
Сообщение:


];

[/OFF]
Название: или html или Perl
Отправлено: Yaroslav от 13 Июня 2003, 12:49:28
Цитировать
Alone:
можно писать так:
print "
Сообщение:


\\n";

вроде я так и делал
Название: или html или Perl
Отправлено: ReDrum от 13 Июня 2003, 17:25:46
Цитировать
Yaroslav:
вроде я так и делал


Немного не так ;)=
можно еще


use CGI;
my $q  = CGI->new();
print $q->br(),
      \'Сообщение\',
      $q->br(),
      $q->textarea(), ....etc