What is your configuration (Perl, OS, architecture)? A 17MB XML file should only be around 170MB once loaded in memory. It seems though that on a 64 bit architecture it could take a lot more, I can't tell, I don't have a 64-bit machine around.
That said, XML::Twig was designed just for this type of situation, to avoid having to load the entire document.
From your example (as Tanktalus mentioned, it would be better to put it in your node, at least I could look at it while answering), you do have access to attributes of the englobing tag within the nested elements. In a handler on the directory element, $directory->parent->att( 'info') is available. Alternatively, you can use the start_tag_handlers option to grab the info from the englobing tag and do something with it,without having to wait to parse the entire element.
In reply to Re: XML::Twig segfaulting on large docs
by mirod
in thread XML::Twig segfaulting on large docs
by Catharsis
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |