=head1 NAME
C<Getopt::MySimple> - Provide a simple wrapper around Getopt::Long.
=head NOTE
Based on GetOpt::Simple, with some (here undocumented) modifications
to fit texi2hml needs.
=head1 SYNOPSIS
use Getopt::MySimple;
# Or ...
# use Getopt::MySimple qw($opt);
my($options) =
{
'help' =>
{
'type' => '',
'default' => '',
# 'verbose' => '', # Not needed on every key.
},
'username' =>
{
'type' => '=s', # As per Getopt::Long.
'default' => $ENV{'USER'} || 'RonSavage', # In case $USER is undef.
'verbose' => 'Specify the username on the remote machine',
},
'password' =>
{
'type' => '=s',
'default' => 'password',
'verbose' => 'Specify the password on the remote machine',
},
};
my($option) = new Getopt::MySimple;
if (! $option -> getOptions($options, "Usage: testMySimple.pl [options]") )
{
exit(-1); # Failure.
}
print "username: $option->{'opt'}{'username'}. \n";
print "password: $option->{'opt'}{'password'}. \n";
# Or, after 'use Getopt::MySimple qw($opt);' ...
# print "username: $opt->{'username'}. \n";
# print "password: $opt->{'password'}. \n";
=head1 DESCRIPTION
The C<Getopt::MySimple> module provides a simple way of specifying:
=over 4
=item *
Command line optes
=item *
Type information for opt values
=item *
Default values for the optes
=item *
Help text per opt
=back
=head1 The C<getOptions()> function
The C<getOptions()> function takes 4 parameters:
=over 4
=item *
A hash defining the command line optes
=item *
A string to display as a help text heading
=item *
A Boolean. 0 = (Default) Use case-sensitive opt names. 1 = Ignore case
=item *
A Boolean. 0 = Return after displaying help. 1 = (Default) Terminate with exit(0)
after displaying help
=back
=head1 The $classRef -> {'opt'} hash reference
Command line option values are accessed in your code by dereferencing
the hash reference $classRef -> {'opt'}. Two examples are given above,
under synopsis.
Alternately, you can use the hash reference $opt. See below.
=head1 The $opt hash reference
Command line option values are accessed in your code by dereferencing
the hash reference $opt. Two examples are given above,
under synopsis.
Alternately, you can use the hash reference $classRef -> {'opt'}. See above.
=head1 The C<dumpOptions()> function
C<dumpOptions()> prints all your option's keys and their current values.
=head1 The C<helpOptions()> function
C<helpOptions()> prints nicely formatted help text.
=head1 WARNING re Perl bug
As always, be aware that these 2 lines mean the same thing, sometimes:
=over 4
=item *
$self -> {'thing'}
=item *
$self->{'thing'}
=back
The problem is the spaces around the ->. Inside double quotes, "...", the
first space stops the dereference taking place. Outside double quotes the
scanner correctly associates the $self token with the {'thing'} token.
I regard this as a bug.
=head1 REQUIRED MODULES
=over 4
=item *
Exporter
=item *
Getopt::Long
=back
=head1 RETURN VALUES
=over 4
=item *
C<dumpOptions()> returns nothing
=item *
C<helpOptions()> returns nothing
=item *
C<getOptions()> returns 0 for failure and 1 for success
=back
=head1 AUTHOR
C<Getopt::MySimple> was written by Ron Savage I<E<lt>rpsavage@ozemail.com.auE<gt>> in 1997.
Modifications for texi2html by Olaf Bachmann
I<E<lt>obachman@mathtematik.uni-kl.deE<gt>> in 2000.
=head1 LICENCE
This program is free software; you can redistribute it and/or modify it under
the same terms as Perl itself.