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. ;-)