use warnings; use strict; use HTML::TokeParser::Simple; my $p = HTML::TokeParser::Simple->new(\*DATA); while ( my $token = $p->get_tag() ) { if ( $token->get_tag =~ /\Atr(;+\d+)?\z/ ) { while ( $p->peek and $p->peek !~ /<(Tr\b|endtab)/ ) { my $token = $p->get_token or next; print $token->as_is, " + "; } print "\n"; } } __DATA__ PA Group (N <26> 23)COM Group (N <26> 24) Gender<124>2 test <26> 0.216, df <26> 1, P <26> 0.642 Male (%)14(60.9)13(54.2) Female (%)9(39.1)11(45.8) Ethnicity<124>2 test <26> 24.99, df <26> 4, P <178> 0.001 African American (%)5(21.7)2(8.3) European American (%)5(21.7)17(70.8) Asian American (%)04(16.7) Hispanic American (%)01(4.2) Other (%)9(39.1)0 Age, yr (SD)46.05(6.13)30.35(10.85)t <26> 5.94, P <178> 0.001 Education, yr (SD)11.37(2.31)15.85(1.75)t <26> 7.41, P <178> 0.001 Pain Threshold, <28>C (SD)48.75(2.44)47.33(3.24)U* <26> 158.0, P <26> 0.012 Males (SD) <26> 47.77 (3.35)† Females (SD) <26> 48.26 (2.36)† U‡ <26> 244, P <26> 0.582