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


ru.perl

 
 - RU.PERL ----------------------------------------------------------------------
 From : Andrey Sapozhnikov                   2:5020/400     15 Jun 2002  14:06:21
 To : Artem Chuprina
 Subject : Re: вопрос по mason
 -------------------------------------------------------------------------------- 
 
 Artem Chuprina wrote:
 
 > Здравствуй, vilfred.
 > v> ну дык вот оно все выводит, но почему-то перед хедером html и не в том 
 > v> месте таблицы где нужно:
  > ....
 > v> и прямо этот весь текст пишет в html.
 > 
 > v> Чего это может быть за баг?
 > 
 > Бардак с буферизацией. Заголовок и содержимое выводятся либо разными
 > процессами, либо через разные файлхендлы, направленные в одно и то же место.
 
 Действительно бардак, но не с хэндлами и не с процессами. Дело в том, что
 HTML::Mason скрипт вообще ничего не выводит (и не должен). Он есть по сути
 mod_perl скрипт (читай - функция) которая выполняет какие-то действия,
 потом интерпретирует шаблон HTML страницы и складывает его в переменную.
 И только по завершении функции апач начинает вывод. Сначала хэндлер, а
 потом документ. При хорошем стиле программирования вывод из кода вообще не
 потребуется. В данном случае строка:
 
 % print join "<p>" => @m;
 
 должна быть записана как:
 
 <% join '<p>', @m %>
 
 или (не совсем точный эквивалент):
 
 % foreach (@m) {
      <% $_ %><p>
 % }
 
 Hо если где-то когда-то все же "вывод" из кода потребуется и
 избежать этого нельзя, то выводить надо через функцию на которую
 указывает $_out, т.е.
 
 $_out->('<b>This damn text</b>');
 
 Андрей
 
 P.S. Избегайте длинных блоков строк начинающихся с %. Для этой
 цели есть таг <%perl>
 
 --- ifmail v.2.15dev5
  * Origin: Demos online service (2:5020/400)
 
 

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

 Тема:    Автор:    Дата:  
 вопрос по mason   vilfred   14 Jun 2002 08:34:44 
 Re: вопрос по mason   Artem Chuprina   15 Jun 2002 01:09:35 
 Re: вопрос по mason   Andrey Sapozhnikov   15 Jun 2002 14:06:21 
 Re: вопрос по mason   vilfred   17 Jun 2002 17:28:41 
Архивное /ru.perl/528462ecc4a4.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional