<ctpp/> home .:. download .:. documentation .:. faq  
o Home
    Download!
    Installation

o Help
    What is the CTPP library?
    How it works?
    Online documentation
    FAQ

o In action
    Projects
    First steps
    HOWTOs..
    Development

o In deveopment
    Schedule
    Credits




Урок 1: Пишем "Hello, World!"

Пользоваться шаблонизатором в языке PERL - не просто, а очень просто, даже проще, чем в C++. Для написания первой программы на PERL, нам потребуется модуль HTML::CTPP2.
Его установка не представляет никаких сложностей: perl Makefile.PL && make && make install.

Создаем файл шаблона hello.tmpl:

Hello, <TMPL_var name>!
Your home catalog is: <TMPL_var home>

Компилируем шаблон:

ctpp2c hello.tmpl hello.ct2

Далее нам будет необходимо загрузиь модуль HTML::CTPP2 и инициализировать его:

use strict;
use HTML::CTPP2;
my $T = new HTML::CTPP2();

Загружаем откомпилированный шаблон:

my $Bytecode = $T -> load_bytecode("hello.ct2");

Если же нам необходимо загрузить исходный код, следует воспользоваться методом parse_template:

my $Bytecode = $T -> parse_template("hello.tmpl");

В дальнейшем можно сохранить откомпилированный шаблон на диск:

my $Bytecode = $T -> save("hello.ct2");

Для вставки параметров в шаблонизатор используется функция param:

my %H = (name => $ENV{"USER"}, home => $ENV{"HOME"});
$T -> param(\%H);

Выводим результат:

print $T -> output($Bytecode);

Если все сделано правильно, результат будет примерно следующий:

Hello, stellar!
Your home catalog is: /home/stellar

Полный текст программы - ниже:

#!/usr/bin/perl
use strict;
use HTML::CTPP2;

# Создаем объект
my $T = new HTML::CTPP2();

# Загружаем откомпилированный шаблон
my $Bytecode = $T -> load_bytecode("hello.ct2");

# Загружаем исходный код
# my $Bytecode = $T -> parse_template("hello.tmpl");

# Сохраняем откомпилированный шаблон на диск
# $Bytecode -> save("hello.ct2");

# Вставляем параметры
my %H = (name => $ENV{"USER"}, home => $ENV{"HOME"});
$T -> param(\%H);

# Выводим результат
print $T -> output($Bytecode);



Copyright © 2003 - 2008 CTPP Dev Team.