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>