[Templates] FOREACH question
Eric Cholet
cholet@logilune.com
Thu, 17 Aug 2000 16:24:39 +0200
Hi,
I'm just starting to use this great module so please bear with me...
I do not understand what's going on with the following usage:
#!/usr/bin/perl -w
use strict;
use Template;
my $data = {
'HOTELS' => [
{
'NUMHOTEL' => 1,
'NOMHOTEL' => 'CHATEAU DE FOURCES'
},
{
'LSTHOTELS' => [
{
'NUM' => 2,
'NOM' => 'CHATEAU DE FOURCES'
}
],
'NUMHOTEL' => 2
}
],
};
my $text = <<EOF;
[% FOREACH HOTELS %]
<TR><TH>Hotel [% NUMHOTEL %]:</TH>
<TD>[% IF NOMHOTEL %][% NOMHOTEL %][% ELSE %]
<SELECT NAME="HOTEL">[% FOREACH LSTHOTELS %]
<OPTION VALUE="[% NUM %]">[% NOM %]</OPTION>
[% END %]</SELECT>
[% END %]</TD>
</TR>
[% END %]
EOF
my $template = Template->new();
$template->process(\$text, $data)
|| die $template->error();
% ./testt
<TR><TH>Hotel 1:</TH>
<TD>CHATEAU DE FOURCES</TD>
</TR>
<TR><TH>Hotel 2:</TH>
<TD>CHATEAU DE FOURCES</TD>
</TR>
For "Hotel 2" I expected to see a <SELECT> block because "NOMHOTEL" isn't defined
in this case.
--
Eric Cholet