// BEGIN
[% IF list -%]
switch(x) {
[% FOREACH item IN list -%]
case [% item %]:
// code for [% item %]
[% UNLESS loop.last -%]
break;
[% END -%]
[% END -%]
}
[% END -%]
// END
####
#! perl -w
use Template;
my $tt = Template->new();
foreach my $data ([undef => undef], [ empty => []],
['("foo", "bar", "baz")' => [qw(foo bar baz)]]) {
print "// List is $data->[0]:\n";
$tt->process('tt2.tmpl', { list => $data->[1] });
print "\n\n";
}
####
// List is undef:
// BEGIN
// END
// List is empty:
// BEGIN
switch(x) {
}
// END
// List is ("foo", "bar", "baz"):
// BEGIN
switch(x) {
case foo:
// code for foo
break;
case bar:
// code for bar
break;
case baz:
// code for baz
}
// END