Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / PPI::Statement::Variable.3pm
1 .\" Automatically generated by Pod::Man 2.22 (Pod::Simple 3.10)
2 .\"
3 .\" Standard preamble:
4 .\" ========================================================================
5 .de Sp \" Vertical space (when we can't use .PP)
6 .if t .sp .5v
7 .if n .sp
8 ..
9 .de Vb \" Begin verbatim text
10 .ft CW
11 .nf
12 .ne \\$1
13 ..
14 .de Ve \" End verbatim text
15 .ft R
16 .fi
17 ..
18 .\" Set up some character translations and predefined strings.  \*(-- will
19 .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left
20 .\" double quote, and \*(R" will give a right double quote.  \*(C+ will
21 .\" give a nicer C++.  Capital omega is used to do unbreakable dashes and
22 .\" therefore won't be available.  \*(C` and \*(C' expand to `' in nroff,
23 .\" nothing in troff, for use with C<>.
24 .tr \(*W-
25 .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p'
26 .ie n \{\
27 .    ds -- \(*W-
28 .    ds PI pi
29 .    if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch
30 .    if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\"  diablo 12 pitch
31 .    ds L" ""
32 .    ds R" ""
33 .    ds C` ""
34 .    ds C' ""
35 'br\}
36 .el\{\
37 .    ds -- \|\(em\|
38 .    ds PI \(*p
39 .    ds L" ``
40 .    ds R" ''
41 'br\}
42 .\"
43 .\" Escape single quotes in literal strings from groff's Unicode transform.
44 .ie \n(.g .ds Aq \(aq
45 .el       .ds Aq '
46 .\"
47 .\" If the F register is turned on, we'll generate index entries on stderr for
48 .\" titles (.TH), headers (.SH), subsections (.SS), items (.Ip), and index
49 .\" entries marked with X<> in POD.  Of course, you'll have to process the
50 .\" output yourself in some meaningful fashion.
51 .ie \nF \{\
52 .    de IX
53 .    tm Index:\\$1\t\\n%\t"\\$2"
54 ..
55 .    nr % 0
56 .    rr F
57 .\}
58 .el \{\
59 .    de IX
60 ..
61 .\}
62 .\"
63 .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2).
64 .\" Fear.  Run.  Save yourself.  No user-serviceable parts.
65 .    \" fudge factors for nroff and troff
66 .if n \{\
67 .    ds #H 0
68 .    ds #V .8m
69 .    ds #F .3m
70 .    ds #[ \f1
71 .    ds #] \fP
72 .\}
73 .if t \{\
74 .    ds #H ((1u-(\\\\n(.fu%2u))*.13m)
75 .    ds #V .6m
76 .    ds #F 0
77 .    ds #[ \&
78 .    ds #] \&
79 .\}
80 .    \" simple accents for nroff and troff
81 .if n \{\
82 .    ds ' \&
83 .    ds ` \&
84 .    ds ^ \&
85 .    ds , \&
86 .    ds ~ ~
87 .    ds /
88 .\}
89 .if t \{\
90 .    ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u"
91 .    ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u'
92 .    ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u'
93 .    ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u'
94 .    ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u'
95 .    ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u'
96 .\}
97 .    \" troff and (daisy-wheel) nroff accents
98 .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V'
99 .ds 8 \h'\*(#H'\(*b\h'-\*(#H'
100 .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#]
101 .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H'
102 .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u'
103 .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#]
104 .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#]
105 .ds ae a\h'-(\w'a'u*4/10)'e
106 .ds Ae A\h'-(\w'A'u*4/10)'E
107 .    \" corrections for vroff
108 .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u'
109 .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u'
110 .    \" for low resolution devices (crt and lpr)
111 .if \n(.H>23 .if \n(.V>19 \
112 \{\
113 .    ds : e
114 .    ds 8 ss
115 .    ds o a
116 .    ds d- d\h'-1'\(ga
117 .    ds D- D\h'-1'\(hy
118 .    ds th \o'bp'
119 .    ds Th \o'LP'
120 .    ds ae ae
121 .    ds Ae AE
122 .\}
123 .rm #[ #] #H #V #F C
124 .\" ========================================================================
125 .\"
126 .IX Title "PPI::Statement::Variable 3"
127 .TH PPI::Statement::Variable 3 "2009-08-08" "perl v5.8.7" "User Contributed Perl Documentation"
128 .\" For nroff, turn off justification.  Always turn off hyphenation; it makes
129 .\" way too many mistakes in technical documents.
130 .if n .ad l
131 .nh
132 .SH "NAME"
133 PPI::Statement::Variable \- Variable declaration statements
134 .SH "SYNOPSIS"
135 .IX Header "SYNOPSIS"
136 .Vb 7
137 \&  # All of the following are variable declarations
138 \&  my $foo = 1;
139 \&  my ($foo, $bar) = (1, 2);
140 \&  our $foo = 1;
141 \&  local $foo;
142 \&  local $foo = 1;
143 \&  LABEL: my $foo = 1;
144 .Ve
145 .SH "INHERITANCE"
146 .IX Header "INHERITANCE"
147 .Vb 5
148 \&  PPI::Statement::Variable
149 \&  isa PPI::Statement::Expression
150 \&      isa PPI::Statement
151 \&          isa PPI::Node
152 \&              isa PPI::Element
153 .Ve
154 .SH "DESCRIPTION"
155 .IX Header "DESCRIPTION"
156 The main intent of the \f(CW\*(C`PPI::Statement::Variable\*(C'\fR class is to describe
157 simple statements that explicitly declare new local or global variables.
158 .PP
159 Note that this does not make it exclusively the only place where variables
160 are defined, and later on you should expect that the \f(CW\*(C`variables\*(C'\fR method
161 will migrate deeper down the tree to either PPI::Statement or
162 PPI::Node to recognise this fact, but for now it stays here.
163 .SH "METHODS"
164 .IX Header "METHODS"
165 .SS "type"
166 .IX Subsection "type"
167 The \f(CW\*(C`type\*(C'\fR method checks and returns the declaration type of the statement,
168 which will be one of 'my', 'local', 'our', or 'state'.
169 .PP
170 Returns a string of the type, or \f(CW\*(C`undef\*(C'\fR if the type cannot be detected
171 (which is probably a bug).
172 .SS "variables"
173 .IX Subsection "variables"
174 As for several other \s-1PDOM\s0 Element types that can declare variables, the
175 \&\f(CW\*(C`variables\*(C'\fR method returns a list of the canonical forms of the variables
176 defined by the statement.
177 .PP
178 Returns a list of the canonical string forms of variables, or the null list
179 if it is unable to find any variables.
180 .SS "symbols"
181 .IX Subsection "symbols"
182 Returns a list of the variables defined by the statement, as
183 PPI::Token::Symbols.
184 .SH "TO DO"
185 .IX Header "TO DO"
186 \&\- Write unit tests for this
187 .SH "SUPPORT"
188 .IX Header "SUPPORT"
189 See the support section in the main module.
190 .SH "AUTHOR"
191 .IX Header "AUTHOR"
192 Adam Kennedy <adamk@cpan.org>
193 .SH "COPYRIGHT"
194 .IX Header "COPYRIGHT"
195 Copyright 2001 \- 2009 Adam Kennedy.
196 .PP
197 This program is free software; you can redistribute
198 it and/or modify it under the same terms as Perl itself.
199 .PP
200 The full text of the license can be found in the
201 \&\s-1LICENSE\s0 file included with this module.