in reply to Cropping the output of the pattern matcher

Playing with regexps is fun but to do this reliably you want to use HTML::Parser and probably the HTML::TokeParser interface as this is easier to understand than the raw Parser interface. Here is an example that extracts all the H tags and the text between them from a document. If you just want the text it should be obvious how to get it. If you want to extract from a table just substitute TD for the H tag list. There is an excellent tutorial on TokeParser in Tutorials

#!/usr/bin/perl -w use strict; use HTML::TokeParser; my $dir = "c:/windows/desktop/book/work/"; my $file = $dir."work_introduction.htm"; my $p = HTML::TokeParser->new($file) || die "Can't open $file: $!"; while (my $token = $p->get_tag(qw(h1 h2 h3 h4))) { my $open = $token->[0]; my $close = '/'.$open; my $text = $p->get_trimmed_text($close); print "<$open>$text<$close>\n"; }

cheers

tachyon

s&&rsenoyhcatreve&&&s&n.+t&"$'$`$\"$\&"&ee&&y&srve&&d&&print