Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / AppConfig::Getopt.3pm
1 .\" Automatically generated by Pod::Man v1.37, Pod::Parser v1.3
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sh \" Subsection heading
6 .br
7 .if t .Sp
8 .ne 5
9 .PP
10 \fB\\$1\fR
11 .PP
12 ..
13 .de Sp \" Vertical space (when we can't use .PP)
14 .if t .sp .5v
15 .if n .sp
16 ..
17 .de Vb \" Begin verbatim text
18 .ft CW
19 .nf
20 .ne \\$1
21 ..
22 .de Ve \" End verbatim text
23 .ft R
24 .fi
25 ..
26 .\" Set up some character translations and predefined strings.  \*(-- will
27 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
28 .\" double quote, and \*(R" will give a right double quote.  | will give a
29 .\" real vertical bar.  \*(C+ will give a nicer C++.  Capital omega is used to
30 .\" do unbreakable dashes and therefore won't be available.  \*(C` and \*(C'
31 .\" expand to `' in nroff, nothing in troff, for use with C<>.
32 .tr \(*W-|\(bv\*(Tr
33 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
34 .ie n \{\
35 .    ds -- \(*W-
36 .    ds PI pi
37 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
38 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
39 .    ds L" ""
40 .    ds R" ""
41 .    ds C` ""
42 .    ds C' ""
43 'br\}
44 .el\{\
45 .    ds -- \|\(em\|
46 .    ds PI \(*p
47 .    ds L" ``
48 .    ds R" ''
49 'br\}
50 .\"
51 .\" If the F register is turned on, we'll generate index entries on stderr for
52 .\" titles (.TH), headers (.SH), subsections (.Sh), items (.Ip), and index
53 .\" entries marked with X<> in POD.  Of course, you'll have to process the
54 .\" output yourself in some meaningful fashion.
55 .if \nF \{\
56 .    de IX
57 .    tm Index:\\$1\t\\n%\t"\\$2"
58 ..
59 .    nr % 0
60 .    rr F
61 .\}
62 .\"
63 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
64 .\" way too many mistakes in technical documents.
65 .hy 0
66 .if n .na
67 .\"
68 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
69 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
70 .    \" fudge factors for nroff and troff
71 .if n \{\
72 .    ds #H 0
73 .    ds #V .8m
74 .    ds #F .3m
75 .    ds #[ \f1
76 .    ds #] \fP
77 .\}
78 .if t \{\
79 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
80 .    ds #V .6m
81 .    ds #F 0
82 .    ds #[ \&
83 .    ds #] \&
84 .\}
85 .    \" simple accents for nroff and troff
86 .if n \{\
87 .    ds ' \&
88 .    ds ` \&
89 .    ds ^ \&
90 .    ds , \&
91 .    ds ~ ~
92 .    ds /
93 .\}
94 .if t \{\
95 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
96 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
97 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
98 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
99 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
100 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
101 .\}
102 .    \" troff and (daisy-wheel) nroff accents
103 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
104 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
105 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
106 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
107 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
108 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
109 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
110 .ds ae a\h'-(\w'a'u*4/10)'e
111 .ds Ae A\h'-(\w'A'u*4/10)'E
112 .    \" corrections for vroff
113 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
114 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
115 .    \" for low resolution devices (crt and lpr)
116 .if \n(.H>23 .if \n(.V>19 \
117 \{\
118 .    ds : e
119 .    ds 8 ss
120 .    ds o a
121 .    ds d- d\h'-1'\(ga
122 .    ds D- D\h'-1'\(hy
123 .    ds th \o'bp'
124 .    ds Th \o'LP'
125 .    ds ae ae
126 .    ds Ae AE
127 .\}
128 .rm #[ #] #H #V #F C
129 .\" ========================================================================
130 .\"
131 .IX Title "AppConfig::Getopt 3"
132 .TH AppConfig::Getopt 3 "2007-05-30" "perl v5.8.7" "User Contributed Perl Documentation"
133 .SH "NAME"
134 AppConfig::Getopt \- Perl5 module for processing command line arguments via delegation to Getopt::Long.
135 .SH "SYNOPSIS"
136 .IX Header "SYNOPSIS"
137 .Vb 1
138 \&    use AppConfig::Getopt;
139 .Ve
140 .PP
141 .Vb 2
142 \&    my $state  = AppConfig::State\->new(\e%cfg);
143 \&    my $getopt = AppConfig::Getopt\->new($state);
144 .Ve
145 .PP
146 .Vb 1
147 \&    $getopt\->parse(\e@args);            # read args
148 .Ve
149 .SH "OVERVIEW"
150 .IX Header "OVERVIEW"
151 AppConfig::Getopt is a Perl5 module which delegates to Johan Vroman's
152 Getopt::Long module to parse command line arguments and update values 
153 in an AppConfig::State object accordingly.
154 .PP
155 AppConfig::Getopt is distributed as part of the AppConfig bundle.
156 .SH "DESCRIPTION"
157 .IX Header "DESCRIPTION"
158 .Sh "\s-1USING\s0 \s-1THE\s0 AppConfig::Getopt \s-1MODULE\s0"
159 .IX Subsection "USING THE AppConfig::Getopt MODULE"
160 To import and use the AppConfig::Getopt module the following line should appear
161 in your Perl script:
162 .PP
163 .Vb 1
164 \&    use AppConfig::Getopt;
165 .Ve
166 .PP
167 AppConfig::Getopt is used automatically if you use the AppConfig module 
168 and create an AppConfig::Getopt object through the \fIgetopt()\fR method.
169 .PP
170 AppConfig::Getopt is implemented using object-oriented methods.  A new 
171 AppConfig::Getopt object is created and initialised using the \fInew()\fR method.
172 This returns a reference to a new AppConfig::Getopt object.  A reference to
173 an AppConfig::State object should be passed in as the first parameter:
174 .PP
175 .Vb 2
176 \&    my $state  = AppConfig::State\->new();
177 \&    my $getopt = AppConfig::Getopt\->new($state);
178 .Ve
179 .PP
180 This will create and return a reference to a new AppConfig::Getopt object. 
181 .Sh "\s-1PARSING\s0 \s-1COMMAND\s0 \s-1LINE\s0 \s-1ARGUMENTS\s0"
182 .IX Subsection "PARSING COMMAND LINE ARGUMENTS"
183 The \f(CW\*(C`parse()\*(C'\fR method is used to read a list of command line arguments and 
184 update the state accordingly.  
185 .PP
186 The first (non\-list reference) parameters may contain a number of 
187 configuration strings to pass to Getopt::Long::Configure.  A reference 
188 to a list of arguments may additionally be passed or \f(CW@ARGV\fR is used by 
189 default.
190 .PP
191 .Vb 4
192 \&    $getopt\->parse();                       # uses @ARGV
193 \&    $getopt\->parse(\e@myargs);
194 \&    $getopt\->parse(qw(auto_abbrev debug));  # uses @ARGV
195 \&    $getopt\->parse(qw(debug), \e@myargs);
196 .Ve
197 .PP
198 See Getopt::Long for details of the configuartion options available.
199 .PP
200 A Getopt::Long specification string is constructed for each variable 
201 defined in the AppConfig::State.  This consists of the name, any aliases
202 and the \s-1ARGS\s0 value for the variable.
203 .PP
204 These specification string are then passed to Getopt::Long, the arguments
205 are parsed and the values in the AppConfig::State updated.
206 .PP
207 See AppConfig for information about using the AppConfig::Getopt
208 module via the \fIgetopt()\fR method.
209 .SH "AUTHOR"
210 .IX Header "AUTHOR"
211 Andy Wardley, <abw@wardley.org>
212 .SH "COPYRIGHT"
213 .IX Header "COPYRIGHT"
214 Copyright (C) 1997\-2007 Andy Wardley.  All Rights Reserved.
215 .PP
216 Copyright (C) 1997,1998 Canon Research Centre Europe Ltd.
217 .PP
218 This module is free software; you can redistribute it and/or modify it 
219 under the same terms as Perl itself.
220 .SH "ACKNOWLEDGMENTS"
221 .IX Header "ACKNOWLEDGMENTS"
222 Many thanks are due to Johan Vromans for the Getopt::Long module.  He was 
223 kind enough to offer assistance and access to early releases of his code to 
224 enable this module to be written.
225 .SH "SEE ALSO"
226 .IX Header "SEE ALSO"
227 AppConfig, AppConfig::State, AppConfig::Args, Getopt::Long