And of course you can also use XML::Twig to get the same result:
#!/bin/perl -w use strict; use XML::Twig; my $posts= 0; my $rep=0; my $twig= new XML::Twig( TwigRoots => { NODE => sub { my( $t, $node)= @_; $posts++; $rep +=$_[1]->att( 'reputation'); $t->purge; } }); $twig->parsefile( $ARGV[0]); print "$posts posts, $rep rep, ", sprintf( "%5.2f", $rep/$posts), " a +verage\n"; [download]
If you have XML::PYX installed you can then run this:
pyx pm.xml | perl -n -e 'if( /^Areputation (\d+)/) { $rep+=$1;$posts++ +;} \ END { print "$posts posts, $rep rep, ", sprintf( "%5.2f", $rep/$posts) +, " average\n";}' [download]