# Print out the change in score between the last game played
# and 10 games ago for all Age of Empires II The Conquerors
# players.
#
# It may take a few minutes to run.

use Frontier::Client;

# Make an object to represent the XML-RPC server.
$server_url = 'http://www.sweetapp.com/cgi-bin/zone/RPC2';
$server = Frontier::Client->new(url => $server_url);
$game = 'Age of Empires II Expansion';
$players = $server->call('getAllPlayerNames');

@changes = ();

foreach $player (@{$players}) {
        
# Check for score changes in the last 10 games
                
$result = $server->call('getLastRatingsByZoneName', $player, $game, 10);
        
        
$len = scalar(@${result});
        
if ($len > 0) {
            
$score2 = @{$result}[0]->{'score'};
            
$score1 = @{$result}[$len - 1]->{'score'};
            
$change = $score2 -  $score1;
            
push(@changes, {player => $player, change => $change});
        
}
        
} 

@changes = sort {$b->{'change'} <=> $a->{'change'}} @changes;
print map { $_->{'player'} . ": " . $_->{'change'} . "\n" } @changes;
    

Download
The source was styled using SilverCity