use XML::Rules; my %results; my $parser=XML::Rules->new( rules => [ tc => sub { $results{ $_[1]->{result} }++; return }, _default => '', ], ); $parser->parse($conf); foreach my $result (sort keys %results) { print "$result: $results{$result}\n"; }