while (defined ($_ = readline $reportfile)) {
# ignore leading empty lines; stop if trailing
/\S/ or @player ? last : next;
- my ($name, $result) = /^ (.*?) \s+ ([A-Z]+) \s*$/x
+ my ($name, $result, $ladder) = /^ (\S+) \s+ ([A-Z]+) \s* (.*)/x
or chomp, warn("Unknown pvpgn report player line: $_\n");
push @player, {name => $name, result => $result};
+ if ($ladder) {
+ my @ladderdata = $ladder =~ m{
+ ^ \s* rating=(\d+) \s+ \[\#\d+\]
+ \s+ prob=([\d.]+)% \s+ K=(\d+) \s+ adj=([+-]\d+) \s* $
+ }x ? $player[-1]{ladder} = {
+ rating => $1,
+ prob => $2,
+ K => $3,
+ adj => $4,
+ } : warn("Unknown ladder details for player $name: $ladder\n");
+ }
}
my $i = -1;