.\" Automatically generated by Pod::Man 4.14 (Pod::Simple 3.40) .\" .\" 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 .. .\" Set up some character translations and predefined strings. \*(-- will .\" give an unbreakable dash, \*(PI will give pi, \*(L" will give a left .\" double quote, and \*(R" will give a right double quote. \*(C+ will .\" give a nicer C++. Capital omega is used to do unbreakable dashes and .\" therefore won't be available. \*(C` and \*(C' expand to `' in nroff, .\" nothing in troff, for use with C<>. .tr \(*W- .ds C+ C\v'-.1v'\h'-1p'\s-2+\h'-1p'+\s0\v'.1v'\h'-1p' .ie n \{\ . ds -- \(*W- . ds PI pi . if (\n(.H=4u)&(1m=24u) .ds -- \(*W\h'-12u'\(*W\h'-12u'-\" diablo 10 pitch . if (\n(.H=4u)&(1m=20u) .ds -- \(*W\h'-12u'\(*W\h'-8u'-\" diablo 12 pitch . ds L" "" . ds R" "" . ds C` "" . ds C' "" 'br\} .el\{\ . ds -- \|\(em\| . ds PI \(*p . ds L" `` . ds R" '' . 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 .\" .\" Accent mark definitions (@(#)ms.acc 1.5 88/02/08 SMI; from UCB 4.2). .\" Fear. Run. Save yourself. No user-serviceable parts. . \" fudge factors for nroff and troff .if n \{\ . ds #H 0 . ds #V .8m . ds #F .3m . ds #[ \f1 . ds #] \fP .\} .if t \{\ . ds #H ((1u-(\\\\n(.fu%2u))*.13m) . ds #V .6m . ds #F 0 . ds #[ \& . ds #] \& .\} . \" simple accents for nroff and troff .if n \{\ . ds ' \& . ds ` \& . ds ^ \& . ds , \& . ds ~ ~ . ds / .\} .if t \{\ . ds ' \\k:\h'-(\\n(.wu*8/10-\*(#H)'\'\h"|\\n:u" . ds ` \\k:\h'-(\\n(.wu*8/10-\*(#H)'\`\h'|\\n:u' . ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'^\h'|\\n:u' . ds , \\k:\h'-(\\n(.wu*8/10)',\h'|\\n:u' . ds ~ \\k:\h'-(\\n(.wu-\*(#H-.1m)'~\h'|\\n:u' . ds / \\k:\h'-(\\n(.wu*8/10-\*(#H)'\z\(sl\h'|\\n:u' .\} . \" troff and (daisy-wheel) nroff accents .ds : \\k:\h'-(\\n(.wu*8/10-\*(#H+.1m+\*(#F)'\v'-\*(#V'\z.\h'.2m+\*(#F'.\h'|\\n:u'\v'\*(#V' .ds 8 \h'\*(#H'\(*b\h'-\*(#H' .ds o \\k:\h'-(\\n(.wu+\w'\(de'u-\*(#H)/2u'\v'-.3n'\*(#[\z\(de\v'.3n'\h'|\\n:u'\*(#] .ds d- \h'\*(#H'\(pd\h'-\w'~'u'\v'-.25m'\f2\(hy\fP\v'.25m'\h'-\*(#H' .ds D- D\\k:\h'-\w'D'u'\v'-.11m'\z\(hy\v'.11m'\h'|\\n:u' .ds th \*(#[\v'.3m'\s+1I\s-1\v'-.3m'\h'-(\w'I'u*2/3)'\s-1o\s+1\*(#] .ds Th \*(#[\s+2I\s-2\h'-\w'I'u*3/5'\v'-.3m'o\v'.3m'\*(#] .ds ae a\h'-(\w'a'u*4/10)'e .ds Ae A\h'-(\w'A'u*4/10)'E . \" corrections for vroff .if v .ds ~ \\k:\h'-(\\n(.wu*9/10-\*(#H)'\s-2\u~\d\s+2\h'|\\n:u' .if v .ds ^ \\k:\h'-(\\n(.wu*10/11-\*(#H)'\v'-.4m'^\v'.4m'\h'|\\n:u' . \" for low resolution devices (crt and lpr) .if \n(.H>23 .if \n(.V>19 \ \{\ . ds : e . ds 8 ss . ds o a . ds d- d\h'-1'\(ga . ds D- D\h'-1'\(hy . ds th \o'bp' . ds Th \o'LP' . ds ae ae . ds Ae AE .\} .rm #[ #] #H #V #F C .\" ======================================================================== .\" .IX Title "PPIx::QuoteLike::Dumper 3pm" .TH PPIx::QuoteLike::Dumper 3pm "2021-02-15" "perl v5.32.1" "User Contributed Perl Documentation" .\" 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" PPIx::QuoteLike::Dumper \- Dump the results of parsing quotelike things .SH "SYNOPSIS" .IX Header "SYNOPSIS" .Vb 3 \& use PPIx::QuoteLike::Dumper; \& PPIx::QuoteLike::Dumper\->new( \*(Aq"foo$bar baz"\*(Aq ) \& \->print(); .Ve .SH "DESCRIPTION" .IX Header "DESCRIPTION" This class generates a formatted dump of a PPIx::QuoteLike object, or a string that can be made into such an object. .SH "METHODS" .IX Header "METHODS" This class supports the following public methods. Methods not documented here are private, and unsupported in the sense that the author reserves the right to change or remove them without notice. .SS "new" .IX Subsection "new" .Vb 4 \& my $dumper = PPIx::QuoteLike::Dumper\->new( \& \*(Aq"foo$bar baz"\*(Aq, \& variables => 1, \& ); .Ve .PP This static method instantiates the dumper. It takes the string or PPIx::QuoteLike object to be dumped as the first argument. Optional further arguments may be passed as name/value pairs. .PP The following optional arguments are recognized: .IP "encoding name" 4 .IX Item "encoding name" This argument is the encoding of the object to be dumped. It is passed through to PPIx::QuoteLike \&\fBnew()\fR unless the first argument was a PPIx::QuoteLike object, in which case it is ignored. .IP "indent number" 4 .IX Item "indent number" This argument specifies the number of additional spaces to indent each level of the parse hierarchy. This is ignored if the \f(CW\*(C`tokens\*(C'\fR argument is true. .Sp The default is \f(CW2\fR. .IP "margin number" 4 .IX Item "margin number" This argument is the number of additional spaces to indent the parse hierarchy, over those specified by the margin. .Sp The default is \f(CW0\fR. .IP "perl_version Boolean" 4 .IX Item "perl_version Boolean" This argument specifies whether or not the perl versions introduced and removed are included in the dump. .Sp The default is \f(CW0\fR (i.e. false). .IP "postderef Boolean" 4 .IX Item "postderef Boolean" \&\fB\s-1THIS ARGUMENT IS DEPRECATED\s0\fR. See \s-1DEPRECATION NOTICE\s0 in PPIx::QuoteLike for the details. .Sp This argument specifies whether or not postfix dereferences are recognized in interpolations. It is passed through to PPIx::QuoteLike \fBnew()\fR unless the first argument was a PPIx::QuoteLike object, in which case it is ignored. .IP "ppi Boolean" 4 .IX Item "ppi Boolean" This argument specifies whether or not a \s-1PPI\s0 dump is provided for interpolations. .Sp The default is \f(CW0\fR (i.e. false). .IP "short Boolean" 4 .IX Item "short Boolean" If true, leading \f(CW\*(AqPPIx::QuoteLike::\*(Aq\fR will be removed from the class names in the output. .IP "tokens boolean" 4 .IX Item "tokens boolean" If true, this argument causes an unstructured dump of tokens found in the parse. .Sp The default is \f(CW0\fR (i.e. false). .IP "variables Boolean" 4 .IX Item "variables Boolean" If true, this argument causes all variables actually interpolated by any interpolations to be dumped. .Sp The default is \f(CW0\fR (i.e. false). .SS "dump" .IX Subsection "dump" .Vb 3 \& print PPIx::Regexp::Dumper\->dump( \*(Aqfoo/bar.pl\*(Aq, \& variables => 1, \& ); .Ve .PP This static method returns a string that represents a dump of its first argument. It takes the same optional arguments as \fBnew()\fR. This method differs from \fBnew()\fR in its interpretation of the first argument. .IP "\(bu" 4 If the first argument is the name of a file, or is a \s-1SCALAR\s0 reference, it is made into a PPI::Document and all strings in the document are dumped. .IP "\(bu" 4 If the first argument is a PPI::Node all strings in the node are dumped. Note that a PPI::Document is a PPI::Node. .PP Otherwise the first argument is handled just like \fBnew()\fR would handle it. .PP The return is the string representation of the dump. .PP In addition to the optional arguments accepted by \fBnew()\fR, the following can be specified: .IP "none" 4 .IX Item "none" This argument specifies a string to return if no dump can be produced (typically because the first argument is neither a file name nor text that is recognized by this package). If unspecified, or specified as \&\f(CW\*(C`undef\*(C'\fR, nothing is returned in this case. .PP The output for an individual quote-like object differs from the \&\fBstring()\fR output on the same object in that it is preceded by the literal sting being dumped, and file and location information if that can be determined. .SS "list" .IX Subsection "list" .Vb 1 \& print map { "$_\en" } $dumper\->list(); .Ve .PP This method returns an array containing the dump output. one line per element. The output has no left margin applied, and no trailing newlines. Embedded newlines are probable if the \f(CW\*(C`ppi\*(C'\fR argument was specified when the dumper was instantiated. .SS "print" .IX Subsection "print" .Vb 1 \& $dumper\->print(); .Ve .PP This method simply prints the result of \*(L"string\*(R" to standard out. .SS "string" .IX Subsection "string" .Vb 1 \& print $dumper\->string(); .Ve .PP This method adds left margin and newlines to the output of \*(L"list\*(R", concatenates the result into a single string, and returns that string. .SH "SUPPORT" .IX Header "SUPPORT" Support is by the author. Please file bug reports at , or in electronic mail to the author. .SH "AUTHOR" .IX Header "AUTHOR" Thomas R. Wyant, \s-1III\s0 \fIwyant at cpan dot org\fR .SH "COPYRIGHT AND LICENSE" .IX Header "COPYRIGHT AND LICENSE" Copyright (C) 2016\-2021 by Thomas R. Wyant, \s-1III\s0 .PP This program is free software; you can redistribute it and/or modify it under the same terms as Perl 5.10.0. For more details, see the full text of the licenses in the directory \s-1LICENSES.\s0 .PP This program is distributed in the hope that it will be useful, but without any warranty; without even the implied warranty of merchantability or fitness for a particular purpose.