#!/usr/bin/perl use strict; use Template; my @raw_data = ( '1|seans.gif|Sean Shrum', '2|steves.gif|Steve Shrum', '3|dianas.gif|Diana Shrum', '4|marthas.gif|Martha Shrum' ); my @data = map { [ split '\|', $_ ] } @raw_data; my $template = Template->new(); $template->process( \*DATA, { data => \@data, column_num => 3 } ) || die $template->error(); __DATA__ [%- USE table( data, rows = column_num ) -%] [% FOREACH col = table.cols -%] [%- FOREACH item = col -%] [%- IF item %]
[% item.0 %] [% item.2 %] [%- ELSE %]   [%- END %] [%- END %] [% END -%] ####
1 Sean Shrum
2 Steve Shrum
3 Diana Shrum
4 Martha Shrum