my $q = CGI->new; my $str = $q->table({-border=>'1', -cellpadding=>'2', -cellspacing=>'2'}, $q->Tr({-align=>'LEFT', -valign=>'CENTER'}, [ $q->td(['one', '1', 'I']), $q->td( {-junk=>'', -colspan=>'2'}, [ 'two', '2' ] ), $q->td({-colspan=>'2'}, ['three', 'III']), $q->td({-colspan=>'3'}, ['four']), ])); $str =~ s/(?<=]*junk[^>]*//i; $str =~ s/junk[^>\s]*//i;