in reply to Re: XML::Twig - extracting some tags from siblings
in thread XML::Twig - extracting some tags from siblings

Hi Mirod,

Thanks for your reply. what you have given is exactly correct.

But I am struggling with the 'while' loop. I tested with the 'if' loop many times, it runs properly. In 'while' loop I get error as can't call method tag.

if ($more_text->tag ne "ahead") { $more_text->move(last_child => $aheadtext); $more_text = $aheadtext->next_sibling; } if ($more_text->tag ne "ahead") { $more_text->move(last_child => $aheadtext); $more_text = $aheadtext->next_sibling; }

Can you please explain.

thanks,

AAkikce

Replies are listed 'Best First'.
Re^3: XML::Twig - extracting some tags from siblings
by mirod (Canon) on Jun 05, 2007 at 15:34 UTC

    I told you it was untested! ;--)

    Of course at some point you get to the last child, and $aheadtext->next_sibling; doesn't exist, so $more_text becomes undef.

    So the test should not be while( $more_text->tag ne 'shead'), which will die when you trying to call the tag method on the undef value in $more_text, but while( $more_text && ($more_text->tag ne 'shead')).

    Does that help?