<% my $iteration = findvalue( '/perlwar/iteration/@nbr' ) || 0 %>
iteration <%= $iteration %>
<%
my %players = ( '' => { color => 'lightgrey' } );
if ( $iteration > 0 ) {
for( findnodes( '/perlwar/iteration/summary/player' ) ) {
my $name = $_->findvalue('@name');
$players{ $name } = { color => $_->getAttribute( 'color' ) };
$players{ $name }{status} = $_->getAttribute( 'status' );
$players{ $name }{score} = $_->getAttribute( 'agents' );
}
}
else {
if ( findvalue( '/perlwar/configuration/players/@list' )
eq 'predefined' ) {
for( findnodes( '/perlwar/configuration/players/player' ) ) {
my $name = $_->findvalue('@name');
$players{ $name } = { color => $_->getAttribute( 'color' ) };
$players{ $name }{status} = 'OK';
$players{ $names }{score} = 0;
}
}
else {
my( $file ) = findvalue(
'/perlwar/configuration/players/@community' );
@player_nodes = grep { -e 'mobil/'.$_->findvalue( '@name' ) }
XML::LibXML->new
->parse_file( $file )
->findnodes( '//player' );
for( @player_nodes ) {
my $name = $_->findvalue('@name');
$players{ $name } = { color => $_->getAttribute( 'color' ) };
$players{ $name }{status} = 'OK';
$players{ $names }{score} = 0;
}
}
}
sub get_players {
}
%>
<%
my %subm;
for( grep $_, keys %players )
{
my $t = -M "mobil/$_" or next;
$subm{ $_ } = $^T - $t*24*60*60;
}
my @order = sort { $subm{$a} <=> $subm{$b} } keys %subm;
for( 1..@order )
{
my $x = $order[$_-1];
$subm{$x} = "
$_";
}
%>
<% for( sort { $players{$b}{score} <=> $players{$a}{score} } keys %players ) {
next unless $_; %>
>
<%= $_ %> <%= $subm{$_} %> <%= $players{$_}{score} || "0" %>
<% } %>