in reply to use strict

Using HTML::Template the template file would end up looking a bit like this
<html><head><title>Hours Worked Status</title> </head><body bgcolor = "white" text="black" link="black">+ <BASE HREF="http://nbpdexplorers.port5.com/"> <br><center><h1>Hours Worked Status</h1></center><br> <center><h3>Today's Date: $date1<br><br>Total Event(s): $ttlevn+ts</h3 +></center> <center><table border> <colgroup align="center" span="27"> <tr><td></td> <!-- TMPL_LOOP months --> <th><!-- TMPL_VAR month_name --></th> <!-- /TMPL_LOOP months --> <th><!-- TMPL_VAR total --></th> </tr></colgroup><colgroup align="left"> <!-- TMPL_LOOP personnel --> <tr> <td><!-- TMPL_VAR name --></td> <!-- TMPL_LOOP workinghours --> <td><!-- TMPL_VAR hours --></td> <!-- /TMPL_LOOP workinghours --> </tr> <!-- /TMPL_LOOP personnel --> </table><center><p><a href="http://nbpdexplorers.port5.com/c+gi-bin/ma +inpage.cgi?name=$name"><h3>Back To Administrative Options<+/h3></a> </p></center></body></html>

The data structures would look like

$template->param(months => [{monthname=>'January'}, {monthname=>'Febuary'}, ... {monthname=>'December'}]); $template->param(personnel => [{name=>'Bottum', workinghours =>[{hours=>aaa}, {hours=>aaa}, ...], total => bbb}, {name=>'Bottum', workinghours =>[{hours=>aaa}, {hours=>aaa}, ...], total => bbb}, ]);

This is only a quick hack based on your html but it should give you an idea.

Hope this helps
UnderMine