Модераторы: korob2001, ginnie
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> PHP-ный include 
V
    Опции темы
TwiSteR
  Дата 1.4.2006, 23:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кибер красавчег
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 15.6.2005
Где: World->Russia

Репутация: нет
Всего: 2



Приветствую всех апостолов Ларри ;)
Так вот собсна.
Как такое делается в перле ?
В пхп

index.php
Код

include("bla.php");

в bla.php
Код

echo <<<GG
<br>
eeeee
<br>
GG;

Так вот как можно в перле также проинклюдить код ?

Это сообщение отредактировал(а) TwiSteR - 1.4.2006, 23:57
--------------------
PM MAIL WWW ICQ   Вверх
korob2001
Дата 2.4.2006, 00:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



bla.pl
Код

print <<HTML;
<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <h1>This is a test message</h1>
    </body>
</html>
HTML

index.pl
Код

#!/usr/bin/perl -w
use strict;
print "Content-type: text/html\n\n";
do("bla.pl");

Вообще было бы не плохо это ещё и через eval прогнать, например так:
Код

eval { do("bla.pl") };
die "Can't included file 'bla.pl': $@\n" if ($@ );



--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
TwiSteR
Дата 2.4.2006, 19:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кибер красавчег
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 15.6.2005
Где: World->Russia

Репутация: нет
Всего: 2



Спасибо !
Цитата(korob2001 @ 2.4.2006, 00:18 Найти цитируемый пост)
Вообще было бы не плохо это ещё и через eval прогнать, например так:

а что это даст ?
--------------------
PM MAIL WWW ICQ   Вверх
korob2001
Дата 2.4.2006, 19:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



Цитата(TwiSteR @ 2.4.2006, 16:01 Найти цитируемый пост)
а что это даст ?

Это даст возможность перехватить ошибку и обработать её так, как тебе нужно. В примере выше, процесс умирает если не удалось выполнить файл bla.pl, но это не обязательно. Можно например попробовать выполнить какой-нить другой файл, если не удалось выполнить первый или ещё что-нить, в этом роде. ;))))

Вобщем eval здесь используется как конструкция try { } catch() {}, в Java.

Это сообщение отредактировал(а) korob2001 - 3.4.2006, 02:00


--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
TwiSteR
Дата 2.4.2006, 21:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кибер красавчег
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 15.6.2005
Где: World->Russia

Репутация: нет
Всего: 2



korob2001,
Спасибо за расклад по полкам.
--------------------
PM MAIL WWW ICQ   Вверх
TwiSteR
  Дата 5.4.2006, 08:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кибер красавчег
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 15.6.2005
Где: World->Russia

Репутация: нет
Всего: 2



А как вставить данные в это print ?
Код

#!/usr/bin/perl
use strict;
print "Content-type: text/html\n\n";
my $a = 5;
do("bla.tpl");

Код

print <<HTML;
<html>
    <head>
    <title>Test</title>
    </head>
    <body>
        <h1>This is a test ddd $a message</h1>
    </body>
</html>
HTML
;


Выдаёт просто
This is a test ddd message

Т.е. переменная $a не передаётся в print

Это сообщение отредактировал(а) TwiSteR - 5.4.2006, 08:38
--------------------
PM MAIL WWW ICQ   Вверх
korob2001
Дата 5.4.2006, 10:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2871
Регистрация: 29.12.2002

Репутация: 31
Всего: 61



smile Так это нормально, это же не класс и не модуль. Тебе нужно либо их писать, либо разбить файл на два в том месте, где ты хочешь вывести содержимое переменной, либо написать подпрограмму которая получает один параметр и вставляет его куда нужно и возвращает код HTML с уже вставленным парамтром. Например так:
Код

sub html_code {
my $a = shift;
return <<HTML;
<html>
    <head>
        <title>Test</title>
    </head>
    <body>
        <h1>I get parametr: $a</h1>
    </body>
</html>
HTML
}

Код

#!/usr/bin/perl -w
use strict;

print "Content-type: text/html\n\n";

eval { do("code.pl") };

my $a = 5;

print html_code($a);



--------------------
"Время проходит", - привыкли говорить вы по неверному пониманию. 
"Время стоит - проходите вы".
PM MAIL WWW ICQ MSN   Вверх
TwiSteR
Дата 5.4.2006, 10:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Кибер красавчег
*


Профиль
Группа: Участник
Сообщений: 231
Регистрация: 15.6.2005
Где: World->Russia

Репутация: нет
Всего: 2



Делаю так
bla.tpl
Код

sub head_html
{
my $s = shift @_;
return <<HTML;
<html>
    <head>
    <title>Test</title>
    </head>
    <body>
        <h1>This is a test $a message</h1>
    </body>
</html>
HTML
;
}



pl.pl

Код

#!/usr/bin/perl

use strict;

print "Content-type: text/html\n\n";

my $a = 5;

eval { do("template/bla.tpl") } ;

print head_html($a);


И не передаёт smile
Добавлено @ 10:29
Ахахахаха
сорри переменную вместо $a $s подставил smile ахахахаха ссорри
--------------------
PM MAIL WWW ICQ   Вверх
rcdimon
Дата 5.4.2006, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 766
Регистрация: 12.7.2004
Где: Москва

Репутация: 1
Всего: 2



че вы так паритесь?

print qq(И пишешь тут все что $хочешь);

если хочешь эту муру вынести в отдельный файл так выноси. только в нонце файла поставь 1;
и присоединяй, например require;
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Perl"
korob2001
sharq
  • В этом разделе обсуждаются общие вопросы по языку Perl
  • Если ваш вопрос относится к системному программированию, задавайте его здесь
  • Если ваш вопрос относится к CGI программированию, задавайте его здесь
  • Интерпретатор Perl можно скачать здесь ActiveState, O'REILLY, The source for Perl
  • Справочное руководство "Установка perl-модулей", можно скачать здесь


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, korob2001, sharq.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Perl: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0702 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.