use DBI; use CGI qw(header); use Template; my $dbh = DBI->connect( ... ); my $students = $dbh->selectall_arrayref(' SELECT firstname,lastname,login,email FROM student ',{Slice => {}}); print header; my $tt = Template->new; $tt->process(\*DATA, {students => $students}) || die $tt->error(); __DATA__ [% FOREACH student = students %] [% END %]
Name Login Email
[% student.lastname %], [% student.firstname %] [% student.login %] [% student.email %]