Conjure up a usage function for your applications
version 0.0012
use Getopt::Usaginator <<_END_; Usage: xyzzy <options> --derp Derp derp derp --durp Durp durp durp -h, --help This usage _END_ # The 'usage' subroutine is now installed ... $options = parse_options( @ARGV ); # Not supplied by Usaginator usage if $options{help}; # Print usage and exit with status 0 if ( ! $options{derp} ) { # Print warning and usage and exit with status -1 usage "You should really derp"; } if ( $options{durp} ) { # Print warning and usage and exit with status 2 usage 2 => "--durp is not ready yet"; } ... usage 3 # Print usage and exit with status 3
Getopt::Usaginator is a tool for creating a handy usage subroutine for commandline applications
It does not do any option parsing, but is best paired with Getopt::Long or any of the other myriad of option parsers
Install a \*(C`usage\*(C' subroutine configured with the <usage> text Return a subroutine configured with the <usage> text
More advanced usage is possible, peek under the hood for more information
perldoc -m Getopt::Usaginator
An example:
use Getopt::Usaginator # Called with the error error => sub { ... }, # Called when usage printing is needed usage => sub { ... }, ... ;
use Getopt::Usaginator ...
sub run { my $self = shift; my @arguments = @_;
usage 0 unless @arguments;
my ( $help ); { local @ARGV = @arguments; GetOptions( 'help|h|?' => \$help, ); }
usage 0 if $help;
... }
Robert Krimen <[email protected]>
This software is copyright (c) 2010 by Robert Krimen.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.