NAME

Chess::NumberMoves - Perl extension for numbering chess moves

SYNOPSIS

INITIAL FILE LACKS MOVE NUMBERS

Because I typed them in from a chess book but didn't feel like entering the move numbers:

[Event "?"]
[Site "Los Angeles"]
[EventDate "1963"]
[White "Benko"]
[Black "Najdorf"]
[Result "*"]

d4 Nf6
c4 c5
d5 d6
Nc3 g6
e4 Bg7
Be2 O-O
Nf3 e5
Bg5 h6
Bh4 g5
Bg3 Nh5
h4 Nf4
hxg5 hxg5
Bf1 Bg4
Qc2 Bxf3
gxf3 Nd7
O-O-O Re8
Bh3 Nxh3
Rxh3 Nf8
Rdh1 Ng6
Nd1 Rc8
Ne3 Rc7
Nf5 Rf8
Qd1 f6
f4 exf4
Qh5 Ne5
Qh7 Kf7
Qxg7+ Ke8 
Qxf8+ Kxf8
Rh8+ Kf7
Rxd8

=head2 THEN WE NUMBER THE FILE

 use Chess::NumberMoves;
 my $numbered = Chess::NumberMoves::from_file('benko-najdorf.pgn');
 print $numbered;
 
[Event "?"]
[Site "Los Angeles"]
[EventDate "1963"]
[White "Benko"]
[Black "Najdorf"]
[Result "*"]



1.  d4 Nf6
2.  c4 c5
3.  d5 d6
4.  Nc3 g6
5.  e4 Bg7
6.  Be2 O-O
7.  Nf3 e5
8.  Bg5 h6
9.  Bh4 g5
10. Bg3 Nh5
11. h4 Nf4
12. hxg5 hxg5
13. Bf1 Bg4
14. Qc2 Bxf3
15. gxf3 Nd7
16. O-O-O Re8
17. Bh3 Nxh3
18. Rxh3 Nf8
19. Rdh1 Ng6
20. Nd1 Rc8
21. Ne3 Rc7
22. Nf5 Rf8
23. Qd1 f6
24. f4 exf4
25. Qh5 Ne5
26. Qh7 Kf7
27. Qxg7+ Ke8 
28. Qxf8+ Kxf8
29. Rh8+ Kf7
30. Rxd8

ABSTRACT

This is a program for numbering a file consisting of chess moves listed
two per line.

DESCRIPTION

Any line in the file which matches the regexp:

/^[A-Z]/

has a line number prepended to it.

I wrote this because I was typing moves from a chess game listed in a book ("Simple Chess" by Michael Stean --- it rocks you should buy it!) but felt it was not a good use of my time to keep entering numbers.

And presto-chango a little bit of Perl and here ya have it.

CONVENIENCE SCRIPT

A convenience script pgo2pgn is included which takes a file with .pgo extension and converts it to a pgn file, saving it with a .pgn extension. The conversion is to take a file which contains a pair of moves on each line and number the lines.

EXPORT

None by default.

SEE ALSO

A better way to do this:

Chess::PGN::Parse on CPAN by Giuseppe Maxia

The perl-chess mailing list:

perl-chess-subscribe@yahoogroups.com

to subscribe

http://www.yahoogroups.com/group/perl-chess

to read the archives.

AUTHOR

Terrence Brannon, tbone@cpan.org

COPYRIGHT AND LICENSE

Copyright 2004 by Terrence Brannon

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.