*===========================* | MooseX-Getopt-Usage | *===========================* Perl Moose Role that extends L to provide usage printing that inspects your classes meta information to build a (coloured) usage message including that meta information. SYNOPSIS ## In your class package My::App; use Moose; with 'MooseX::Getopt::Usage'; has verbose => ( is => 'ro', isa => 'Bool', default => 0, documentation => qq{Say lots about what we are doing} ); has gumption => ( is => 'rw', isa => 'Int', default => 23, documentation => qq{How much gumption to apply} ); # ... rest of class ## In your script #!/usr/bin/perl use My::App; my $app = My::App->new_with_options; Can now get help: $ synopsis.pl --help Usage: synopsis.pl [OPTIONS] Options: --help -? --usage - Bool. Display the usage message and exit --verbose - Bool. Say lots about what we are doing --gumption - Int. Default=23. How much gumption to apply INSTALLATION To install this module, run the following commands: perl Build.PL ./Build ./Build test ./Build install Note on systems with checkinstall use checkinstall ./Build install If you want to create an uninstallable package. SUPPORT AND DOCUMENTATION You can find documentation for this module with the perldoc command. perldoc MooseX::Getopt::Usage The source code and other information is hosted on github: http://github.com/markpitchless/moosex-getopt-usage LICENSE AND COPYRIGHT Copyright (C) 2012 Mark Pitchless This program is free software; you can redistribute it and/or modify it under the terms of either: the GNU General Public License as published by the Free Software Foundation; or the Artistic License. See http://dev.perl.org/licenses/ for more information.