Commits

Anonymous committed 1b020fd

Add POD to abc-solve and got --help and --man.

Comments (0)

Files changed (4)

abc-path/Games-ABC_Path-Solver/Build.PL

         'base' => 0,
         'Carp' => 0,
         'Getopt::Long' => '2.36',
+        'Pod::Usage' => 0,
     },
     add_to_cleanup      => [ 'Games-Solitaire-Verify-*' ],
     create_makefile_pl => 'traditional',

abc-path/Games-ABC_Path-Solver/Changes

 0.0.3
         - Encapsulated scripts/abc-path-solve inside
         lib/Games/ABC_Path/Solver/App.pm .
+        - Add POD to scripts/abc-path-solve
 
 0.0.2   Mon Jan 10 12:24:28 IST 2011
         - Add the missing Test::Differences to the build_requires. It caused

abc-path/Games-ABC_Path-Solver/lib/Games/ABC_Path/Solver/App.pm

 use base 'Games::ABC_Path::Solver::Base';
 
 use Carp;
+use Getopt::Long;
+use Pod::Usage;
 
 use Games::ABC_Path::Solver::Board;
 
 {
     my $self = shift;
 
-    my $board_fn = shift(@{$self->_argv});
+    local @ARGV = @{$self->_argv};
+
+    my $man = 0;
+    my $help = 0;
+    GetOptions('help|h' => \$help, man => \$man)
+        or pod2usage(2);
+
+    if ($help)
+    {
+        pod2usage(1);
+    }
+
+    if ($man)
+    {
+        pod2usage(-verbose => 2);
+    }
+
+    my $board_fn = shift(@ARGV);
 
     if (!defined ($board_fn))
     {

abc-path/Games-ABC_Path-Solver/scripts/abc-path-solve

 
 Games::ABC_Path::Solver::App->new({argv => [@ARGV]})->run;
 
+=head1 NAME
+
+abc-path-solve - a solver for ABC Path
+
+=head1 SYNOPSIS
+
+B<abc-path-solve> /path/to/board
+
+=head1 DESCRIPTION
+
+This is a solver for ABC Path ( L<http://www.brainbashers.com/abcpath.asp> ).
+
+=head1 FORMAT
+
+Sample boards can be found in the distribution under C<t/layouts/> .
+
+Here is the description of their formats. The first line should be the
+magic string C<ABC Path Solver Layout Version 1:> , and the next line should
+be a row of 7 letters, the first being a hint for the top-left-to-bottom-right
+perpendicular, the last being a hint for the top-right-to-bottom-left 
+perpendicular and the rest of the letters being vertical hints. 
+
+After that, there are 5 rows of horizontal hints being a letter, 5 spaces
+and another letter. On one of the squares one can put a letter instead of a
+space, to indicate it must be there.
+
+The last row is another row of vertical hints and perpendicular hints.
+
+Here's an example:
+
+    ABC Path Solver Layout Version 1:
+    OWXIBQN
+    J    AK
+    E     L
+    U     F
+    Y     P
+    R     S
+    TVMGCDH
+
+=cut
+
+=head1 SEE ALSO
+
+L<http://www.brainbashers.com/abcpath.asp>
+
+L<Games::Solitaire::BlackHole::Solver::App>
+
+L<Games::Solitaire::BlackHole::Solver::Board>
+
+=head1 COPYRIGHT AND LICENSE
+
+Copyright (c) 2011 Shlomi Fish
+
+Permission is hereby granted, free of charge, to any person
+obtaining a copy of this software and associated documentation
+files (the "Software"), to deal in the Software without
+restriction, including without limitation the rights to use,
+copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the
+Software is furnished to do so, subject to the following
+conditions:
+
+The above copyright notice and this permission notice shall be
+included in all copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
+OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
+HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
+WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
+OTHER DEALINGS IN THE SOFTWARE.
+
+=head1 AUTHOR
+
+Shlomi Fish, L<http://www.shlomifish.org/>
+
+=cut
+
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.