Beim Aufbauen der Datenstruktur habe ich auch immer Probleme.
Deshalb hier (m)ein Testprogramm:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#!/usr/bin/perl -w
use strict;
use HTML::Template;
# open the html template
my $tt = <<USAGE
Start
<TMPL_LOOP AUSSEN>
Loop Nummer <TMPL_VAR NUMMER>:
<TMPL_LOOP INNEN>
innerer Loop <TMPL_VAR LETTER>
</TMPL_LOOP>
</TMPL_LOOP>
Ende
USAGE
;
my $template = HTML::Template->new(scalarref => \$tt,
# option => 'value',
# die_on_bad_params => 0,
);
$template->param(AUSSEN => [ { NUMMER => 1,
INNEN => [
{ LETTER => 'a1' },
{ LETTER => 'b1' },
]
},
{ NUMMER => 2,
INNEN => [
{ LETTER => 'a2' },
{ LETTER => 'b2' },
]
},
]
);
print $template->output;
Die Ausgabe ist
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Start
Loop Nummer 1:
innerer Loop a1
innerer Loop b1
Loop Nummer 2:
innerer Loop a2
innerer Loop b2
Ende
Prinzipiell geht es also.
Ich mache es immer so, dass ich mir einen einzigen Hash aufbaue, den ich dann an die param-Methode übergebe. Diesen Hash kann mir dann mit Data::Dumper anschauen um zu prüfen, ob die Struktur stimmt.