my @rows; my @headings = (th(['Foo','Bar'])); push(@rows, Tr(@headings)); my @row1 = (td({-rowspan=>'2'},'foo1')); push(@row1,td('bar1')); push(@rows,Tr(@row1)); my @row2 = (td(['bar2'])); push(@rows,Tr(@row2)); my @row3 = (td({-rowspan=>'2'},'foo2')); push(@row3,td('bar3')); push(@rows,Tr(@row3)); my @row4 = (td(['bar4'])); push(@rows,Tr(@row4)); print start_html('foobar'), table({-border=>'1'},@rows), end_html;