use HTML::Table; my $t = HTML::Table->new; $t->setCell(1, 1, "Name"); $t->setCell(1, $_, sprintf "%d:00", ($_ + 5) % 12 + 1) for 2..16; my $employee = "Randal"; my $sshift = 10; my $eshift = 14; # for testing $t->setCell(2, 1, $employee); $t->setCell(2, $_ - 8 + 2, "d") for $sshift..$eshift; $t->print;