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

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to