How can I get the next immediate tag with HTML::Tokeparser?
I'm trying to get the tags that occur immediately after a particular div tag. For e.g., I have html code
<div id="example">
     <h2>Example</h2>
     <p>Hello !World</p>
</div>
I'm doing the following,
while ( $tag = $stream->get_tag('div') ) {
    if( $tag->[1]{id} eq 'Example' ) {
       开发者_如何学C $tag = $stream->get_tag;
        $tag = $stream->get_tag;
        if ( $tag->[0] eq 'div' ) {
        ...
        }
    }
}
But this throws the error
Can't use string ("</h2>") as a HASH ref while "strict refs" in use
It works fine if I say 
$tag = $stream->get_tag('h2');
$tag = $stream->get_tag('p');
But I can't have that because I need to get the immediate two tags and verify if they are what i expect them to be.
It would be easier to tell if you posted a runnable example program, but it looks like the problem is you didn't realize that get_tag returns both start and end tags.  End tags don't have attributes.  Start tags are returned as [$tag, $attr, $attrseq, $text], and end tags are returned as ["/$tag", $text].
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论