HTML::TEMPLATE (DOCUMENTO SCADUTO)
------------------------------------------------------------------------------
HTML::Template
HTML::Template è un modulo adatto per lavoretti piccoli e veloci, cioè quando
dovete per forza usare un template ma non ne avete voglia. Non è
sintatticamente elegante come Petal, non è potente e versatile come TT2, è
difficilmente scalabile per progetti grandi, ma funziona bene ed è
esattamente ciò che vi serve per quanto detto sopra! Il modulo, scritto
interamente in Perl, suporta semplici sostituzioni di variabili, condizioni e
loop.
Questo esempio mostra le principali caratteristiche di HTML::Template:
La lista della spesa:
Non serve frutta.
Il titolo è una semplice sostituzione, mentre poi vi sono due loop, uno dei
quali (quello relativo alla frutta) è inserito in un blocco delimitato da una
condizione: se l'array L_FRUTTA esiste viene creata la lista non numerata,
altrimenti viene visualizzato il testo "Non serve frutta."
Ed ecco il programmino Perl che popola e stampa il template:
#!/usr/local/bin/perl
use strict;
use warnings;
use HTML::Template;
my @l_spesa = (
{ PRODOTTO => 'Zucchero' },
{ PRODOTTO => 'Yogurt' },
{ PRODOTTO => 'Pane' },
{ PRODOTTO => 'Cereali' }
);
my @l_frutta = (
{ FRUTTO => 'Banane' },
{ FRUTTO => 'Mele' }
);
my $t = new HTML::Template(filename => 'miotpl.html');
$t->param(
TITOLO => "La lista della spesa",
L_SPESA => \@l_spesa,
L_FRUTTA => \@l_frutta
);
print $t->output();
Ciò che va passato al modulo è dunque un hash, che può contenere reference a
degli array (necessari per popolare i loop) che a loro volta devono contenere
reference ad altri hash. Il sistema è dunque immediato e semplice, e per i
vostri attimi quick&dirty è l'ideale.
Buon divertimento. ;-)