Games::SGF::Util - Utility pack for Games::SGF objects
Version 0.993
Quick summary of what the module does.
Perhaps a little code snippet.
use Games::SGF::Util; my $util = new Games::SGF::Util($sgf); $util->filter( "C", undef ); # removes all comments from SGF
This is a collection of useful methods for manipulating a Games::SGF object.
All Util methods in this module will not call any game movement methods. This means in order to work with files with multiple games you must move to the game of choice then pass it into a util object.
$util = new Games::SGF::Util($sgf);
This initializes a new Games::SGF::Util object. Will return undef if $sgf is no supplied.
undef
$sgf
$util->touch(\&sub);
This will call &sub for every node in $sgf. &sub will be passed the $sgf object. any subroutines which manipulate the $sgf tree will lead to undefined behavior. The safe methods to use are:
&sub
$util->fiter( $tag, \&sub);
Will call &sub for every $tag which is in $sgf. &sub will be passed the tag value. The value then be reset to the return of &sub. If the return is "" the tag will be unset.
If the tag has a value list each value will be sent to $callback.
If the $callback returns undef it will not be set.
Example:
# removes all comments that don't match m/Keep/ $util->filter( "C", sub { return $_[0] =~ m/Keep/ ? $_[0] : ""; );
my(@games) = $util->gameInfo; foreach my $game (@games) { print "New Game\n"; foreach my $tag (keys %$game) { print "\t$tag -> $game->{$tag}\n"; } }
Will return the game-info tags for all games represented in the current game tree. The return order is the closest to the root, and then the closest to the main line branch.
UNWRITTEN
$sgf = $util->sgf; $sgf = $util->sgf($sgf)
This returns a clone of the $sgf object associated with $util, or sets the $sgf object to a clone of object supplied.
$util
Games::SGF
David Whitcomb, <whitcode at gmail.com>
<whitcode at gmail.com>
Please report any bugs or feature requests to bug-games-sgf at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=Games-SGF. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
bug-games-sgf at rt.cpan.org
You can find documentation for this module with the perldoc command.
perldoc Games::SGF::Util
You can also look for information at:
RT: CPAN's request tracker
http://rt.cpan.org/NoAuth/Bugs.html?Dist=Games-SGF
AnnoCPAN: Annotated CPAN documentation
http://annocpan.org/dist/Games-SGF
CPAN Ratings
http://cpanratings.perl.org/d/Games-SGF
Search CPAN
http://search.cpan.org/dist/Games-SGF
Copyright 2008 David Whitcomb, all rights reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
To install Games::SGF, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Games::SGF
CPAN shell
perl -MCPAN -e shell install Games::SGF
For more information on module installation, please visit the detailed CPAN module installation guide.