#!/usr/bin/perl -w use strict; use XML::Twig; my $count = 0; # total count of members to compare against my $t= XML::Twig->new( twig_handlers => { member => \&member } ); $t->parsefile('kwsn.xml'); $t->flush; # don't forget to flush one last time in the end or anything # after the last tag will not be output print "Total members: $count\n"; sub member { my ($t, $member) = @_; my $name = field($member, 'name'); # get member's name my $results = field($member, 'numresults'); # get member's results print "$name $results\n"; $t->purge(); $count++; } sub field { my ($member, $field) = @_; return $member->first_child($field)->text; }