diff options
Diffstat (limited to 'upstream/mageia-cauldron/man3pm/Getopt::Std.3pm')
-rw-r--r-- | upstream/mageia-cauldron/man3pm/Getopt::Std.3pm | 137 |
1 files changed, 137 insertions, 0 deletions
diff --git a/upstream/mageia-cauldron/man3pm/Getopt::Std.3pm b/upstream/mageia-cauldron/man3pm/Getopt::Std.3pm new file mode 100644 index 00000000..44c8a2b7 --- /dev/null +++ b/upstream/mageia-cauldron/man3pm/Getopt::Std.3pm @@ -0,0 +1,137 @@ +.\" -*- mode: troff; coding: utf-8 -*- +.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43) +.\" +.\" Standard preamble: +.\" ======================================================================== +.de Sp \" Vertical space (when we can't use .PP) +.if t .sp .5v +.if n .sp +.. +.de Vb \" Begin verbatim text +.ft CW +.nf +.ne \\$1 +.. +.de Ve \" End verbatim text +.ft R +.fi +.. +.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>. +.ie n \{\ +. ds C` "" +. ds C' "" +'br\} +.el\{\ +. ds C` +. ds C' +'br\} +.\" +.\" Escape single quotes in literal strings from groff's Unicode transform. +.ie \n(.g .ds Aq \(aq +.el .ds Aq ' +.\" +.\" If the F register is >0, we'll generate index entries on stderr for +.\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index +.\" entries marked with X<> in POD. Of course, you'll have to process the +.\" output yourself in some meaningful fashion. +.\" +.\" Avoid warning from groff about undefined register 'F'. +.de IX +.. +.nr rF 0 +.if \n(.g .if rF .nr rF 1 +.if (\n(rF:(\n(.g==0)) \{\ +. if \nF \{\ +. de IX +. tm Index:\\$1\t\\n%\t"\\$2" +.. +. if !\nF==2 \{\ +. nr % 0 +. nr F 2 +. \} +. \} +.\} +.rr rF +.\" ======================================================================== +.\" +.IX Title "Getopt::Std 3pm" +.TH Getopt::Std 3pm 2023-11-28 "perl v5.38.2" "Perl Programmers Reference Guide" +.\" For nroff, turn off justification. Always turn off hyphenation; it makes +.\" way too many mistakes in technical documents. +.if n .ad l +.nh +.SH NAME +Getopt::Std \- Process single\-character switches with switch clustering +.SH SYNOPSIS +.IX Header "SYNOPSIS" +.Vb 1 +\& use Getopt::Std; +\& +\& getopts(\*(Aqoif:\*(Aq); # \-o & \-i are boolean flags, \-f takes an argument +\& # Sets $opt_* as a side effect. +\& getopts(\*(Aqoif:\*(Aq, \e%opts); # options as above. Values in %opts +\& getopt(\*(AqoDI\*(Aq); # \-o, \-D & \-I take arg. +\& # Sets $opt_* as a side effect. +\& getopt(\*(AqoDI\*(Aq, \e%opts); # \-o, \-D & \-I take arg. Values in %opts +.Ve +.SH DESCRIPTION +.IX Header "DESCRIPTION" +The \f(CWgetopts()\fR function processes single-character switches with switch +clustering. Pass one argument which is a string containing all switches to be +recognized. For each switch found, if an argument is expected and provided, +\&\f(CWgetopts()\fR sets \f(CW$opt_x\fR (where \f(CW\*(C`x\*(C'\fR is the switch name) to the value of +the argument. If an argument is expected but none is provided, \f(CW$opt_x\fR is +set to an undefined value. If a switch does not take an argument, \f(CW$opt_x\fR +is set to \f(CW1\fR. +.PP +Switches which take an argument don't care whether there is a space between +the switch and the argument. If unspecified switches are found on the +command-line, the user will be warned that an unknown option was given. +.PP +The \f(CWgetopts()\fR function returns true unless an invalid option was found. +.PP +The \f(CWgetopt()\fR function is similar, but its argument is a string containing +all switches that take an argument. If no argument is provided for a switch, +say, \f(CW\*(C`y\*(C'\fR, the corresponding \f(CW$opt_y\fR will be set to an undefined value. +Unspecified switches are silently accepted. Use of \f(CWgetopt()\fR is not +recommended. +.PP +Note that, if your code is running under the recommended \f(CW\*(C`use strict +vars\*(C'\fR pragma, you will need to declare these package variables +with \f(CW\*(C`our\*(C'\fR: +.PP +.Vb 1 +\& our($opt_x, $opt_y); +.Ve +.PP +For those of you who don't like additional global variables being created, +\&\f(CWgetopt()\fR and \f(CWgetopts()\fR will also accept a hash reference as an optional +second argument. Hash keys will be \f(CW\*(C`x\*(C'\fR (where \f(CW\*(C`x\*(C'\fR is the switch name) with +key values the value of the argument or \f(CW1\fR if no argument is specified. +.PP +To allow programs to process arguments that look like switches, but aren't, +both functions will stop processing switches when they see the argument +\&\f(CW\*(C`\-\-\*(C'\fR. The \f(CW\*(C`\-\-\*(C'\fR will be removed from \f(CW@ARGV\fR. +.ie n .SH """\-\-help"" and ""\-\-version""" +.el .SH "\f(CW\-\-help\fP and \f(CW\-\-version\fP" +.IX Header "--help and --version" +If \f(CW\*(C`\-\*(C'\fR is not a recognized switch letter, \fBgetopts()\fR supports arguments +\&\f(CW\*(C`\-\-help\*(C'\fR and \f(CW\*(C`\-\-version\*(C'\fR. If \f(CWmain::HELP_MESSAGE()\fR and/or +\&\f(CWmain::VERSION_MESSAGE()\fR are defined, they are called; the arguments are +the output file handle, the name of option-processing package, its version, +and the switches string. If the subroutines are not defined, an attempt is +made to generate intelligent messages; for best results, define \f(CW$main::VERSION\fR. +.PP +If embedded documentation (in pod format, see perlpod) is detected +in the script, \f(CW\*(C`\-\-help\*(C'\fR will also show how to access the documentation. +.PP +Note that due to excessive paranoia, if \f(CW$Getopt::Std::STANDARD_HELP_VERSION\fR +isn't true (the default is false), then the messages are printed on STDERR, +and the processing continues after the messages are printed. This being +the opposite of the standard-conforming behaviour, it is strongly recommended +to set \f(CW$Getopt::Std::STANDARD_HELP_VERSION\fR to true. +.PP +One can change the output file handle of the messages by setting +\&\f(CW$Getopt::Std::OUTPUT_HELP_VERSION\fR. One can print the messages of \f(CW\*(C`\-\-help\*(C'\fR +(without the \f(CW\*(C`Usage:\*(C'\fR line) and \f(CW\*(C`\-\-version\*(C'\fR by calling functions \fBhelp_mess()\fR +and \fBversion_mess()\fR with the switches string as an argument. |