--- "Thurn, Martin" <[EMAIL PROTECTED]> wrote:
>   I ran into similar problems for my module WWW::Search.
>   No, out-of-the-box you can not re-use an HTML::TreeBuilder object to parse
> a new file.  BUT you can use the following code as a "reset". I.e. call
> parse, muck with the tree, do the following four lines, and call parse
> again.  This does the same as new() but without changing the store_comments,
> store_pis settings, etc:
> 
>   $self->{'_head'} = $self->insert_element('head',1);
>   $self->{'_pos'} = undef;  # pull it back up
>   $self->{'_body'} = $self->insert_element('body',1);
>   $self->{'_pos'} = undef;  # pull it back up again

i will look into how that can be added to $tree later.
but a reset method from HTML::TreeBuilder would be nice.
 
>   The reason you can't re-use your HTML::Element is because it's a
> reference, and when the tree gets deleted, your Element gets deleted right
> along with it.
> 
>  - - Martin Thurn
> 

just found that $h->clone can get around this. too bad i can't do the same to a tree 
before it
parses the file. 

from HTML::Element,

You are free to clone HTML::TreeBuilder trees, just as long as: 1) they're done being 
parsed, or
2) you don't expect to resume parsing into the clone. (You can continue parsing into 
the original;
it is never affected.)

just to make sure, (english isn't my first language) does it say that i can't clone a 
tree if it
doesn't parse something?


Qiang

__________________________________
Do you Yahoo!?
Yahoo! SiteBuilder - Free, easy-to-use web site design software
http://sitebuilder.yahoo.com

Reply via email to