sub clone { my $self=shift; my $clone=new Board; $clone->{rep}=$self->{rep}; $clone->{castling_rights}=$self->{castling_rights}; $clone->{half_move_clock}=$self->{half_move_clock}; $clone->{full_move_number}=$self->{full_move_number}; $clone->{ep_pos}=$self->{ep_pos}; $clone->{turn}=$self->{turn}; return $clone; }