use strict; use warnings; use Template; my @data =( ["Planet", "Radius\nkm", "Density\ng/cm^3"], [ "Mercury", 2360, 3.7 ], [ "Venus", 6110, 5.1 ], [ "Earth", 6378, 5.52 ], [ "Jupiter", 71030, 1.3 ], ); my $tmpl = '[% FOREACH row = rows %] [% FOREACH cell = row %] [% END %] [% END %]
[% cell %]
'; my $table = Template->new; my $html = ''; $table->process( \$tmpl, { rows => \@data }, \$html ) or warn $table->error, $/; print $html;