Charles, Thank you! It's working! I went w/ the... foreach approach...
my $parser = HTML::TokeParser::Simple->new(\$page) || die "Could not parse page"; my ($tag, $attr); $tag = $parser->get_tag("table") foreach (1..10); $parser->get_tag("tr") foreach (1..11); $parser->get_tag("td"); my $lg_desc = $parser->get_text(); print "Large Description: $lg_desc\n"; ---- Thanks again! ----- Brian > -----Original Message----- > From: Charles K. Clarkson [mailto:[EMAIL PROTECTED] > Sent: Wednesday, November 24, 2004 6:28 AM > To: 'Beginners (E-mail)' > Subject: RE: HTML::TokeParser::Simple / get_attr > > > Brian Volk <[EMAIL PROTECTED]> wrote: > > : Hi All, > : > : I'm trying to only get the text from w/in a certain table in > : the HTML source. Right now I am getting all the text in the > : source. > : Here is my script.... I made notes in the script. > : > : #!/usr/bin/perl -w > > Always use strict. > > use strict; > > : use HTML::TokeParser::Simple; > > [snip] > : my $parser = HTML::TokeParser->new(\$page) || > : die "Could not parse page"; > > Wrong object. > > my $parser = HTML::TokeParser::Simple->new( \$page ) || > die "Could not parse page"; > > > [snip] > : # ---------- with this I get Use of uninitialized value in > : # print.. I think LWP::Simple is returning that? --------- > > No, both $attr and $tag are undefined. > > : # my $tag = $parser->get_tag("table") foreach (1..28); > : # my $attr = $tag->[1]->{"colspan"}; > : # print $tag->[0], ":", $attr, "\n"; > > You are attempting to access the 28th table, but there are > only 27 tables in the document. > > use strict; > use warnings; > > use HTML::TokeParser::Simple; > use LWP::Simple; > > my $url = 'http://www.kcprofessional.com/us/product-details.asp' > . '?search=v1&searchtext=01970&x=0&y=0'; > > my $page = get( $url ) || die qq(Could not load "$url"); > > my $parser = HTML::TokeParser::Simple->new( \$page ) || > die "Could not parse $url"; > > my $table_count; > > ++$table_count while $parser->get_tag( 'table' ); > > print "$table_count tables found.\n"; > > > [snip] > : # ---------- I have get_attr # out because I get can't locate > : # in @INC -- (using ActiveState Perl) > > There is no get_attr() method in HTML::TokeParser::Simple. We > can verify this using the can() method. > > use strict; > use warnings; > use HTML::TokeParser::Simple; > > my $parser = HTML::TokeParser::Simple->new(*DATA) || > die "Could not parse page"; > > printf > "The get_attr() method %s\n", > $parser->can( 'get_attr' ) ? 'exists' : 'does not exist'; > > __END__ > > > HTH, > > Charles K. Clarkson > -- > Mobile Homes Specialist > 254 968-8328 > > > > -- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > <http://learn.perl.org/> <http://learn.perl.org/first-response> > > > -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>