Re: Limiting Toke::Parser
- From: rob.dixon@xxxxxxx (Rob Dixon)
- Date: Sat, 28 Jun 2008 16:16:14 +0100
Gunnar Hjalmarsson wrote:
Rob Dixon wrote:
Clinton JAmes wrote:
How do I stop the parser when I reach "pears".You are presumably using HTML::TokeParser, and not Toke::Parse, Toke::Parse or
toke paser.
This should do what you want.
while (my $tag = $stream->get_tag('div')) {
next unless my $id = $tag->[1]{id};
last if $id eq 'mainbody';
}
while (my $tag = $stream->get_tag('a')) {
next unless $stream->get_trimmed_text eq 'pears';
print $tag->[1]{href}, "\n";
last;
}
I wouldn't interpret "when I reach 'pears'" that literally. Alternative
solution:
while ( my $tag = $stream->get_tag ) {
if ( $tag->[0] eq 'a' ) {
print Dumper $tag;
}
last if $tag->[0] eq '/ul';
}
I assumed the OP wanted to find the first the first anchor containing 'pears'
after the first division with an id of 'mainbody'. How do you read it?
(Once again you've over-edited the previous post and no one can see what we're
taking about.)
Rob
.
- Follow-Ups:
- Re: Limiting Toke::Parser
- From: Gunnar Hjalmarsson
- Re: Limiting Toke::Parser
- References:
- Limiting Toke::Parser
- From: Clinton JAmes
- Re: Limiting Toke::Parser
- From: Rob Dixon
- Re: Limiting Toke::Parser
- From: Gunnar Hjalmarsson
- Limiting Toke::Parser
- Prev by Date: Re: Using System to read mixed cased environment variables on Windows
- Next by Date: Re: Using System to read mixed cased environment variables on Windows
- Previous by thread: Re: Limiting Toke::Parser
- Next by thread: Re: Limiting Toke::Parser
- Index(es):