in reply to Removing leading and ending text?

I would echo McDarren's sentiment above. If you can't be absolutly sure what your HTML will look like (and, in my experience, you can't) it is usually best to use an HTML parser.

This uses HTML::TokeParser::Simple.

#!/usr/bin/perl use strict; use warnings; use HTML::TokeParser::Simple; my $html = do { local $/; <DATA>; }; my $p = HTML::TokeParser::Simple->new(\$html); my ($table, $start); while (my $t = $p->get_token){ $start++ if $t->is_start_tag('tr'); next unless $start; last if $t->is_start_tag('br'); $table .= $t->as_is; } print "*$table*\n"; __DATA__ <title>stuff</title> <br>Header</br> <tr> <td>1</td> <td>2</td> </tr> <tr> <td>3</td> <td>4</td> </tr> <br>Trailing Info
Output:
---------- Capture Output ---------- > "C:\Perl\bin\perl.exe" _new.pl *<tr> <td>1</td> <td>2</td> </tr> <tr> <td>3</td> <td>4</td> </tr> * > Terminated with exit code 0.