+ my $white = $pgn->white;
+ my $black = $pgn->black;
+ $white =~ s/,.*//; # Remove first name.
+ $black =~ s/,.*//; # Remove first name.
+ my $tags = $pgn->tags();
+ my $pos;
+ if (exists($tags->{'FEN'})) {
+ $pos = Position->from_fen($tags->{'FEN'});
+ $pos->{'last_move'} = 'none';
+ $pos->{'player_w'} = $white;
+ $pos->{'player_b'} = $black;
+ $pos->{'start_fen'} = $tags->{'FEN'};
+ } else {
+ $pos = Position->start_pos($white, $black);
+ }
+ if (exists($tags->{'Variant'}) &&
+ $tags->{'Variant'} =~ /960|fischer/i) {
+ $pos->{'chess960'} = 1;
+ } else {
+ $pos->{'chess960'} = 0;
+ }