Este endereço mudou para: http://andrem.wordpress.com
Os projetos que estavam aqui para download, podem ser baixados em: http://github.com/andrem
Os projetos que estavam aqui para download, podem ser baixados em: http://github.com/andrem
Textos
Cups Parte Um
Dica Rewrite Ubuntu
Dicas C
Dicas Shell Script
HTML Template Perl
Ketchup
Mysql pt BR
Oscommerce Shopline
Perl com C
Pesquisa Cpan Firefox
Pesquisa Perldoc Firefox
Processos no Kernel Linux
Search Plugin
Tradutor em Perl
User Cups Ubuntu
Whois em PHP
Links
Cups Parte Um
Dica Rewrite Ubuntu
Dicas C
Dicas Shell Script
HTML Template Perl
Ketchup
Mysql pt BR
Oscommerce Shopline
Perl com C
Pesquisa Cpan Firefox
Pesquisa Perldoc Firefox
Processos no Kernel Linux
Search Plugin
Tradutor em Perl
User Cups Ubuntu
Whois em PHP
Links
Perl HTML::Template
Recentemente conheci um módulo do Perl para melhorar o desenvolvimento dos scripts em CGI, o Html::Template (http://search.cpan.org/~samtregar/HTML-Template-2.6/Template.pm). É um módulo simples de se mexer e provavelmente seu provedor já o tenha pré-instalado.
O Html::Template traz uma solução simples para o desenvolvimento Web com Perl. Através dele é possível você separar completamente seu código Perl de seu código HTML. O Html é criado em um arquivo separado, inserindo nele somente as marcações de entradas de dados, enquanto que o código Perl pode ser escrito em um outro arquivo sem se preocupar com inserções de códigos HTML.
Criando seu Arquivo de Template
Bom vou demonstrar como o HTML::Template funciona na prática, supondo que você já tenha um servidor Web com as devidas aplicações instaladas, criararemos nosso arquivo HTML que será nosso template:
html_template.tmpl
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/xhtml1-loose.dtd">
<html>
<head>
<title> <TMPL_VAR NAME=TITULO>
</title>
</head>
<body>
<TMPL_VAR NAME=TEXTO>
</body>
</html>
Bom este é um arquivo HTML simples, mas note que foi adicionado ao HTML algumas tags novas, são elas as responsáveis de receber os dados e formatar a página final no navegador. As tags TMPL_VAR funcionam como um marcador onde será substituído pela variável de nome ("NAME"): TÍTULO. Uma coisa a ser notada é a extensão atribuída ao arquivo, .TMPL, que informa ao nosso script que esse é o arquivo template.
Criando o Código Perl
pagina.pl
#!/usr/bin/perl
use HTML::Template;
#
# Informando o arquivo de template
#
my $template = HTML::Template->new(filename => 'html_template.tmpl');
#
# Definindo o titulo
#
$template->param(TITULO, "Teste Template");
#
# Texto que será impresso no corpo da página
#
$template->param(TEXTO, "<h1>Meu Primeiro Template</h1>");
print "Content-Type: text/html\n\n";
#
# Imprimindo os dados
#
$template->output;
O resultado no navegador é o titulo da página mais um texto (Meu Primeiro Template) no corpo da página.
A mágica de tudo isso é que o arquivo de template olha as tags do HTML normalmente, até que encontra as tags <TMPL_VAR>, especificando as variáveis que podem ser preenchidas com a chamada param().
Já o arquivo < i >pagina.pl< i > realiza a chamada my $template = HTML::Template->new() onde é especificado o arquivo de template (filename => 'html_template.tmpl'), depois realiza a chamada $template->param() que informa o nome da variável (TITULO) mais o valor dela (Teste Template), e por fim realiza a chamada $template->output () retornando todo o resultado.
Com essas informações já é possível criar uma página separando seu HTML do código Perl, no entanto o HTML::Template oferece muito mais recursos como :
<TMPL_LOOP>
<TMPL_INCLUDE>
<TMPL_IF>
<TMPL_ELSE>
<TMPL_UNLESS>
<TMPL_LOOP> : É uma tag um pouco mais complicada, pois ela permite que você determine uma seção de texto e atribua um nome a ela, passando um parâmetro através de listas associadas.
Código do Template
<TMPL_LOOP NAME="primeironome">
<TMPL_VAR NAME="nome">
</TMPL_LOOP>
Código Perl
my %nomes = (
nome => "André"
);
<TMPL_INCLUDE> : Permite a inclusão de um template no template atual.
Código Template
<TMPL_INCLUDE NAME="novo_template.tmpl">
<TMPL_IF> : Incluí ou não incluí blocos de instruções baseados nos valores de um nome passado pelo parâmetro.
<TMPL_ELSE> : Incluí um bloco de instruções alternativo.
Código Template para exemplo do <TMPL_IF> e <TMPL_ELSE>
<TMPL_IF NAME="Categorias">
<a href="categoria1.html">Categoria 1</a>
<a href="categoria2.html">Categoria 2</a>
<TMPL_ELSE>
<a href="index.html">Home</a>
</TMPL_IF>
<TMPL_UNLESS> : Oposto do <TMPL_IF> pois incluí um bloco de instruções se o valor for falso.
Código Template
<TMPL_UNLESS NAME="Categorias">
<a href="index.html">Home</a>
<TMPL_ELSE>
<a href="categoria1.html">Categoria 1</a>
<a href="categoria2.html">Categoria 2</a>
</TMPL_UNLESS >
Finalizando
O HTML::Template pode facilitar muito o desenvolvimento Web por ser simples e fácil de se aplicar, aliás este blog usa ele em seu desenvolvimento :-).
Mais informações:
http://html-template.sourceforge.net/
André Osti de Moura
andreoandre [a] gmail [.] com
Recentemente conheci um módulo do Perl para melhorar o desenvolvimento dos scripts em CGI, o Html::Template (http://search.cpan.org/~samtregar/HTML-Template-2.6/Template.pm). É um módulo simples de se mexer e provavelmente seu provedor já o tenha pré-instalado.
O Html::Template traz uma solução simples para o desenvolvimento Web com Perl. Através dele é possível você separar completamente seu código Perl de seu código HTML. O Html é criado em um arquivo separado, inserindo nele somente as marcações de entradas de dados, enquanto que o código Perl pode ser escrito em um outro arquivo sem se preocupar com inserções de códigos HTML.
Criando seu Arquivo de Template
Bom vou demonstrar como o HTML::Template funciona na prática, supondo que você já tenha um servidor Web com as devidas aplicações instaladas, criararemos nosso arquivo HTML que será nosso template:
html_template.tmpl
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/xhtml1-loose.dtd">
<html>
<head>
<title> <TMPL_VAR NAME=TITULO>
</title>
</head>
<body>
<TMPL_VAR NAME=TEXTO>
</body>
</html>
Bom este é um arquivo HTML simples, mas note que foi adicionado ao HTML algumas tags novas, são elas as responsáveis de receber os dados e formatar a página final no navegador. As tags TMPL_VAR funcionam como um marcador onde será substituído pela variável de nome ("NAME"): TÍTULO. Uma coisa a ser notada é a extensão atribuída ao arquivo, .TMPL, que informa ao nosso script que esse é o arquivo template.
Criando o Código Perl
pagina.pl
#!/usr/bin/perl
use HTML::Template;
#
# Informando o arquivo de template
#
my $template = HTML::Template->new(filename => 'html_template.tmpl');
#
# Definindo o titulo
#
$template->param(TITULO, "Teste Template");
#
# Texto que será impresso no corpo da página
#
$template->param(TEXTO, "<h1>Meu Primeiro Template</h1>");
print "Content-Type: text/html\n\n";
#
# Imprimindo os dados
#
$template->output;
O resultado no navegador é o titulo da página mais um texto (Meu Primeiro Template) no corpo da página.
A mágica de tudo isso é que o arquivo de template olha as tags do HTML normalmente, até que encontra as tags <TMPL_VAR>, especificando as variáveis que podem ser preenchidas com a chamada param().
Já o arquivo < i >pagina.pl< i > realiza a chamada my $template = HTML::Template->new() onde é especificado o arquivo de template (filename => 'html_template.tmpl'), depois realiza a chamada $template->param() que informa o nome da variável (TITULO) mais o valor dela (Teste Template), e por fim realiza a chamada $template->output () retornando todo o resultado.
Com essas informações já é possível criar uma página separando seu HTML do código Perl, no entanto o HTML::Template oferece muito mais recursos como :
<TMPL_LOOP>
<TMPL_INCLUDE>
<TMPL_IF>
<TMPL_ELSE>
<TMPL_UNLESS>
<TMPL_LOOP> : É uma tag um pouco mais complicada, pois ela permite que você determine uma seção de texto e atribua um nome a ela, passando um parâmetro através de listas associadas.
Código do Template
<TMPL_LOOP NAME="primeironome">
<TMPL_VAR NAME="nome">
</TMPL_LOOP>
Código Perl
my %nomes = (
nome => "André"
);
<TMPL_INCLUDE> : Permite a inclusão de um template no template atual.
Código Template
<TMPL_INCLUDE NAME="novo_template.tmpl">
<TMPL_IF> : Incluí ou não incluí blocos de instruções baseados nos valores de um nome passado pelo parâmetro.
<TMPL_ELSE> : Incluí um bloco de instruções alternativo.
Código Template para exemplo do <TMPL_IF> e <TMPL_ELSE>
<TMPL_IF NAME="Categorias">
<a href="categoria1.html">Categoria 1</a>
<a href="categoria2.html">Categoria 2</a>
<TMPL_ELSE>
<a href="index.html">Home</a>
</TMPL_IF>
<TMPL_UNLESS> : Oposto do <TMPL_IF> pois incluí um bloco de instruções se o valor for falso.
Código Template
<TMPL_UNLESS NAME="Categorias">
<a href="index.html">Home</a>
<TMPL_ELSE>
<a href="categoria1.html">Categoria 1</a>
<a href="categoria2.html">Categoria 2</a>
</TMPL_UNLESS >
Finalizando
O HTML::Template pode facilitar muito o desenvolvimento Web por ser simples e fácil de se aplicar, aliás este blog usa ele em seu desenvolvimento :-).
Mais informações:
http://html-template.sourceforge.net/
André Osti de Moura
andreoandre [a] gmail [.] com