CGI::FastTemplate
Web alkalmazásként használjuk a Perl-t, szükségünk lesz a CGI modulra. A PHP-ben is ismeretes class.FastTemplate.php Perl megfelelőjét a CPAN telepítőn keresztül, vagy ActivePerl haszálata esetén a ppm csomagkezelővel telepíthetjük. A CGI::FastTemplate kezelése igen hasonló a PHP-ben használthoz, és nagyon egyszerű. Azonban a Smarty-hoz ezen egyszerűség okán nem hasonlítható. A Smarty-hoz inkább a Template Tool Kit hasonlítható. Példaként a FastTemplate használatára nézzük meg a környezeti változók és az átadott paraméterek táblázatát.
#!c:/Perl/bin/perl.exe use CGI; use CGI::FastTemplate; $cgi = new CGI; print $cgi->header( -expires => 'now', -meta => { 'last-modified' => localtime, 'ETag' => localtime, 'cache-control' => 'no-cache', 'pragma' => 'no-cache', 'Content-type' => 'text/html', 'charset' => 'iso-8859-2' } ); my $tpl = new CGI::FastTemplate("./templates/"); $tpl->define('main'=>'env.tpl', 'table'=>'table.tpl', 'row'=>'row.tpl' ); $tpl->assign(VARNAME=>'<b>Name</b>',VALUE=>'<b>Value</b>'); $tpl->parse(ROWS=>".row"); foreach $var (sort(keys(%ENV))) { $val = $ENV{$var}; $val =~ s|\n|\\n|g; $val =~ s|"|\\"|g; $tpl->assign(VARNAME =>$var, VALUE=>$val); $tpl->parse(ROWS=>".row"); }; $count = scalar($cgi->param); if ($count>0) { $tpl->assign(VARNAME=>'<b>Name</b>',VALUE=>'<b>Value</b>'); $tpl->parse(ROWS=>".row"); foreach $name (sort($cgi->param)) { $value = $cgi->param($name); $tpl->assign(VARNAME =>$name, VALUE=>$value); $tpl->parse(ROWS=>".row"); }; }; $tpl->parse(MAIN => ["table", "main"]); $tpl->print();
env.tpl
<html> <body> $MAIN </body> </html>
table.tpl
<table border=1> $ROWS </table>
row.tpl
<tr> <td valign="top" align="right">$VARNAME</td><td>$VALUE</td> </tr>
Érdekes lehet még a kapott paraméterek esetén a kódolás/dekódolás. Ezekhez az URI::Escape és HTML::Entities modulokban található encode_entities és decode_entities függvények alkalmasak. Ezeknek van UTF-8 specifikus változatuk is.
- A hozzászóláshoz be kell jelentkezni