From: Todd A. J. <no...@co...> - 2002-07-14 23:35:37
|
On Tue, 9 Jul 2002, Shane Hudson wrote: > Tcl script (based on others I've done for PGN data before) to strip them > out, pasted below. A Perl script would be more compact, but probably > unreadable. :-) Use at your own risk... I had inconsistent results from this script, such as skipped [Event] tags in the output. But you got me started on the right track, and I put together a similar perl script with a (hopefully) more accurate regex. Thanks for the idea! #!/usr/bin/perl -nw # vim:ai:tw=72:sw=4 ## ## Name: ## nocrazy.pl ## ## Version: ## $Revision: 1.1 $ ## ## Purpose: ## Filter out crazyhouse games from a PGN input file. ## ## Usage: ## nocrazy.pl <filename> ## ## Author: ## Todd A. Jacobs <per...@co...> ## # Place each game into a temporary array. if (/^\[Event/ ... m!(^\*)|([01/]2*-[01/]2*\s*$)!) { push (@game, $_); } else { # Discard crazyhouse games. foreach (@game) { undef @game if /^\[Variant "crazyhouse"\]/ } # Store valid games in a separate array, and clear the temp array. push (@gamelist, @game, "\n") if @game; undef @game; } # Send the filtered game list to standard output. END { print "@gamelist\n" } -- "The only thing that helps me maintain my slender grip on reality is the friendship I share with my collection of singing potatoes." - Holly, JMC Vessel *Red Dwarf* |