+ my $pgntext = read_root_pgn($pgn_file_number, $pgn_start_position);
+ my $pgn = Chess::PGN::Parse->new(undef, $pgntext);
+ $pgn->read_game() or die;
+ $pgn->parse_game() or die;
+
+ my $tags = $pgn->tags;
+ $root_game = {};
+ $root_game->{'white'} = $pgn->white;
+ $root_game->{'white_elo'} = $tags->{'WhiteElo'};
+ $root_game->{'black'} = $pgn->black;
+ $root_game->{'black_elo'} = $tags->{'BlackElo'};
+ $root_game->{'event'} = $pgn->event;
+ $root_game->{'date'} = $pgn->date;
+ $root_game->{'result'} = $pgn->result;
+ $root_game->{'eco'} = $pgn->eco;
+ $root_game->{'moves'} = scalar @{$pgn->moves};