Add built local::lib
[catagits/Gitalist.git] / local-lib5 / man / man3 / PPI::Token::Whitespace.3pm
CommitLineData
3fea05b9 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::Token::Whitespace 3"
127.TH PPI::Token::Whitespace 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"
133PPI::Token::Whitespace \- Tokens representing ordinary white space
134.SH "INHERITANCE"
135.IX Header "INHERITANCE"
136.Vb 3
137\& PPI::Token::Whitespace
138\& isa PPI::Token
139\& isa PPI::Element
140.Ve
141.SH "DESCRIPTION"
142.IX Header "DESCRIPTION"
143As a full \*(L"round-trip\*(R" parser, \s-1PPI\s0 records every last byte in a
144file and ensure that it is included in the PPI::Document object.
145.PP
146This even includes whitespace. In fact, Perl documents are seen
147as \*(L"floating in a sea of whitespace\*(R", and thus any document will
148contain vast quantities of \f(CW\*(C`PPI::Token::Whitespace\*(C'\fR objects.
149.PP
150For the most part, you shouldn't notice them. Or at least, you
151shouldn't \fBhave\fR to notice them.
152.PP
153This means doing things like consistently using the \*(L"S for significant\*(R"
154series of PPI::Node and PPI::Element methods to do things.
155.PP
156If you want the nth child element, you should be using \f(CW\*(C`schild\*(C'\fR rather
157than \f(CW\*(C`child\*(C'\fR, and likewise \f(CW\*(C`snext_sibling\*(C'\fR, \f(CW\*(C`sprevious_sibling\*(C'\fR, and
158so on and so forth.
159.SH "METHODS"
160.IX Header "METHODS"
161Again, for the most part you should really \fBnot\fR need to do anything
162very significant with whitespace.
163.PP
164But there are a couple of convenience methods provided, beyond those
165provided by the parent PPI::Token and PPI::Element classes.
166.SS "null"
167.IX Subsection "null"
168Because \s-1PPI\s0 sees documents as sitting on a sort of substrate made of
169whitespace, there are a couple of corner cases that get particularly
170nasty if they don't find whitespace in certain places.
171.PP
172Imagine walking down the beach to go into the ocean, and then quite
173unexpectedly falling off the side of the planet. Well it's somewhat
174equivalent to that, including the whole screaming death bit.
175.PP
176The \f(CW\*(C`null\*(C'\fR method is a convenience provided to get some internals
177out of some of these corner cases.
178.PP
179Specifically it create a whitespace token that represents nothing,
180or at least the null string \f(CW\*(Aq\*(Aq\fR. It's a handy way to have some
181\&\*(L"whitespace\*(R" right where you need it, without having to have any
182actual characters.
183.SS "tidy"
184.IX Subsection "tidy"
185\&\f(CW\*(C`tidy\*(C'\fR is a convenience method for removing unneeded whitespace.
186.PP
187Specifically, it removes any whitespace from the end of a line.
188.PP
189Note that this \fBdoesn't\fR include \s-1POD\s0, where you may well need
190to keep certain types of whitespace. The entire \s-1POD\s0 chunk lives
191in its own PPI::Token::Pod object.
192.SH "SUPPORT"
193.IX Header "SUPPORT"
194See the support section in the main module.
195.SH "AUTHOR"
196.IX Header "AUTHOR"
197Adam Kennedy <adamk@cpan.org>
198.SH "COPYRIGHT"
199.IX Header "COPYRIGHT"
200Copyright 2001 \- 2009 Adam Kennedy.
201.PP
202This program is free software; you can redistribute
203it and/or modify it under the same terms as Perl itself.
204.PP
205The full text of the license can be found in the
206\&\s-1LICENSE\s0 file included with this module.