MooseX::App::Cmd - Mashes up MooseX::Getopt and App::Cmd.
See "SYNOPSIS" in App::Cmd.
package YourApp::Cmd; use Moose; extends qw(MooseX::App::Cmd); package YourApp::Cmd::Command::blort; use Moose; extends qw(MooseX::App::Cmd::Command); has blortex => ( isa => "Bool", is => "rw", cmd_aliases => "X", documentation => "use the blortext algorithm", ); has recheck => ( isa => "Bool", is => "rw", cmd_aliases => "r", documentation => "recheck all results", ); sub run { my ( $self, $opt, $args ) = @_; # you may ignore $opt, it's in the attributes anyway my $result = $self->blortex ? blortex() : blort(); recheck($result) if $self->recheck; print $result; }
This module marries App::Cmd with MooseX::Getopt.
Use it like App::Cmd advises (especially see App::Cmd::Tutorial), swapping App::Cmd::Command for MooseX::App::Cmd::Command.
Then you can write your moose commands as moose classes, with MooseX::Getopt defining the options for you instead of opt_spec returning a Getopt::Long::Descriptive spec.
opt_spec
Yuval Kogman <nothingmuch@woobling.org>
With contributions from:
Copyright (c) 2007-2008 Infinity Interactive, Yuval Kogman. 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 MooseX::App::Cmd, copy and paste the appropriate command in to your terminal.
cpanm
cpanm MooseX::App::Cmd
CPAN shell
perl -MCPAN -e shell install MooseX::App::Cmd
For more information on module installation, please visit the detailed CPAN module installation guide.