#!/usr/bin/perl -w use strict; use XML::Twig; my $inFile = '../data/2009/data_verified/abms_dialogb_10000000_10099999.xml'; if ( ! $inFile ) { die("No input file specified"); } if ( ! -f $inFile ) { die("file '$inFile' not found"); } process($inFile); exit 0; # # Process the file # sub process { $inFile =~ /data_(\d+)_(\d+)/; my $t= new XML::Twig( TwigHandlers=> { BIOG => \&BIOG }, ); $t->parsefile( $inFile ); $t->purge(); # Will purge work? $t->dispose(); # Try to Free memory but does not work... } # # BIOG is XML element we are triggering # sub BIOG { my ($t, $BIOG)= @_; if ( ! checkBiog($BIOG->field('BIOG_NBR')) ) { print "Missing ". $BIOG->field('BIOG_NBR') . "\n"; } $t->purge(); # Tell XML::Twig to dispo of the rest of the tree we don't care about return 1; } # # Check database for ID # sub checkBiog { my ($biog) = @_; return 1; }