in reply to XML-Twig: more efficient tree processing

maybe using flush Link cpan XML::Twig:

... Once the element is completely processed you can then flush it, which will output it and free the memory ...

so something like this:

my $twig = new XML::Twig ( TwigRoots, pretty_print => 'indented', => { 'tables/table' => \&processColum +ns, 'views/view' => \&processColumns + } ); $twig->parsefile($SCHEMAS); $twig->dispose; sub processColumns { my( $twig, $tableTwig) = @_; my @colList = $tableTwig->find_nodes( "columns/column"); foreach $x ( @colList){ blah; } $twig->flush; }

Replies are listed 'Best First'.
Re^2: XML-Twig: more efficient tree processing
by zuma53 (Beadle) on Aug 08, 2012 at 02:28 UTC

    I tried that. All is seems to do is spit back out the XML on the terminal output (unless it's suppose to do that). I am reading the XML for extracting info then I am done, so printing the tree serves no purpose. This is like closing a file after reading for input; There is no need to print the file when the file is closed.

    Is there a way to flush silently?

      It is suppose to do that, just change:

      $twig->flush;

      to

      $twig->purge;