Skip to content

Commit 56d8709

Browse files
committed
Tidy up Pod formatting in lib/B/Deparse.pm
Add C<...> wrapping around the name of the module, also a few other places. Also add L<...> wrapping around names of other modules.
1 parent 9924021 commit 56d8709

File tree

1 file changed

+33
-32
lines changed

1 file changed

+33
-32
lines changed

lib/B/Deparse.pm

Lines changed: 33 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -7098,9 +7098,9 @@ B<perl> B<-MO=Deparse>[B<,-d>][B<,-f>I<FILE>][B<,-p>][B<,-q>][B<,-l>]
70987098
70997099
=head1 DESCRIPTION
71007100
7101-
B::Deparse is a backend module for the Perl compiler that generates
7101+
C<B::Deparse> is a backend module for the Perl compiler that generates
71027102
perl source code, based on the internal compiled structure that perl
7103-
itself creates after parsing a program. The output of B::Deparse won't
7103+
itself creates after parsing a program. The output of C<B::Deparse> won't
71047104
be exactly the same as the original source, since perl doesn't keep
71057105
track of comments or whitespace, and there isn't a one-to-one
71067106
correspondence between perl's syntactical constructions and their
@@ -7109,34 +7109,34 @@ option, the output also includes parentheses even when they are not
71097109
required by precedence, which can make it easy to see if perl is
71107110
parsing your expressions the way you intended.
71117111
7112-
While B::Deparse goes to some lengths to try to figure out what your
7112+
While C<B::Deparse> goes to some lengths to try to figure out what your
71137113
original program was doing, some parts of the language can still trip
71147114
it up; it still fails even on some parts of Perl's own test suite. If
71157115
you encounter a failure other than the most common ones described in
7116-
the BUGS section below, you can help contribute to B::Deparse's
7116+
the BUGS section below, you can help contribute to C<B::Deparse>'s
71177117
ongoing development by submitting a bug report with a small
71187118
example.
71197119
71207120
=head1 OPTIONS
71217121
71227122
As with all compiler backend options, these must follow directly after
7123-
the '-MO=Deparse', separated by a comma but not any white space.
7123+
the C<-MO=Deparse>, separated by a comma but not any white space.
71247124
71257125
=over 4
71267126
71277127
=item B<-d>
71287128
7129-
Output data values (when they appear as constants) using Data::Dumper.
7130-
Without this option, B::Deparse will use some simple routines of its
7131-
own for the same purpose. Currently, Data::Dumper is better for some
7129+
Output data values (when they appear as constants) using L<Data::Dumper>.
7130+
Without this option, C<B::Deparse> will use some simple routines of its
7131+
own for the same purpose. Currently, L<Data::Dumper> is better for some
71327132
kinds of data (such as complex structures with sharing and
71337133
self-reference) while the built-in routines are better for others
71347134
(such as odd floating-point values).
71357135
71367136
=item B<-f>I<FILE>
71377137
7138-
Normally, B::Deparse deparses the main code of a program, and all the subs
7139-
defined in the same file. To include subs defined in
7138+
Normally, C<B::Deparse> deparses the main code of a program, and all the
7139+
subs defined in the same file. To include subs defined in
71407140
other files, pass the B<-f> option with the filename.
71417141
You can pass the B<-f> option several times, to
71427142
include more than one secondary file. (Most of the time you don't want to
@@ -7145,12 +7145,12 @@ defined in the scope of a B<#line> directive with two parameters.
71457145
71467146
=item B<-l>
71477147
7148-
Add '#line' declarations to the output based on the line and file
7148+
Add C<#line> declarations to the output based on the line and file
71497149
locations of the original code.
71507150
71517151
=item B<-p>
71527152
7153-
Print extra parentheses. Without this option, B::Deparse includes
7153+
Print extra parentheses. Without this option, C<B::Deparse> includes
71547154
parentheses in its output only when they are needed, based on the
71557155
structure of your program. With B<-p>, it uses parentheses (almost)
71567156
whenever they would be legal. This can be useful if you are used to
@@ -7190,8 +7190,8 @@ making clear how the parameters are actually passed to C<foo>.
71907190
=item B<-q>
71917191
71927192
Expand double-quoted strings into the corresponding combinations of
7193-
concatenation, uc, ucfirst, lc, lcfirst, quotemeta, and join. For
7194-
instance, print
7193+
concatenation, C<uc>, C<ucfirst>, C<lc>, C<lcfirst>, C<quotemeta>, and
7194+
C<join>. For instance, print
71957195
71967196
print "Hello, $world, @ladies, \u$gentlemen\E, \u\L$me!";
71977197
@@ -7202,13 +7202,13 @@ as
72027202
72037203
Note that the expanded form represents the way perl handles such
72047204
constructions internally -- this option actually turns off the reverse
7205-
translation that B::Deparse usually does. On the other hand, note that
7205+
translation that C<B::Deparse> usually does. On the other hand, note that
72067206
C<$x = "$y"> is not the same as C<$x = $y>: the former makes the value
7207-
of $y into a string before doing the assignment.
7207+
of C<$y> into a string before doing the assignment.
72087208
72097209
=item B<-s>I<LETTERS>
72107210
7211-
Tweak the style of B::Deparse's output. The letters should follow
7211+
Tweak the style of C<B::Deparse>'s output. The letters should follow
72127212
directly after the 's', with no space or punctuation. The following
72137213
options are available:
72147214
@@ -7258,7 +7258,7 @@ conventional values include 0, 1, 42, '', 'foo', and
72587258
'Useless use of constant omitted' (which may need to be
72597259
B<-sv"'Useless use of constant omitted'.">
72607260
or something similar depending on your shell). The default is '???'.
7261-
If you're using B::Deparse on a module or other file that's require'd,
7261+
If you're using C<B::Deparse> on a module or other file that's C<require>'d,
72627262
you shouldn't use a value that evaluates to false, since the customary
72637263
true constant at the end of a module will be in void context when the
72647264
file is compiled as a main program.
@@ -7270,7 +7270,7 @@ file is compiled as a main program.
72707270
Expand conventional syntax constructions into equivalent ones that expose
72717271
their internal operation. I<LEVEL> should be a digit, with higher values
72727272
meaning more expansion. As with B<-q>, this actually involves turning off
7273-
special cases in B::Deparse's normal operations.
7273+
special cases in C<B::Deparse>'s normal operations.
72747274
72757275
If I<LEVEL> is at least 3, C<for> loops will be translated into equivalent
72767276
while loops with continue blocks; for instance
@@ -7327,7 +7327,7 @@ turns into
73277327
$nice ? do { print 'hi' } : do { print 'bye' };
73287328
73297329
Long sequences of elsifs will turn into nested ternary operators, which
7330-
B::Deparse doesn't know how to indent nicely.
7330+
C<B::Deparse> doesn't know how to indent nicely.
73317331
73327332
=back
73337333
@@ -7342,7 +7342,7 @@ B::Deparse doesn't know how to indent nicely.
73427342
73437343
=head2 Description
73447344
7345-
B::Deparse can also be used on a sub-by-sub basis from other perl
7345+
C<B::Deparse> can also be used on a sub-by-sub basis from other perl
73467346
programs.
73477347
73487348
=head2 new
@@ -7393,15 +7393,16 @@ use re;
73937393
73947394
=back
73957395
7396-
Ordinarily, if you use B::Deparse on a subroutine which has
7396+
Ordinarily, if you use C<B::Deparse> on a subroutine which has
73977397
been compiled in the presence of one or more of these pragmas,
73987398
the output will include statements to turn on the appropriate
7399-
directives. So if you then compile the code returned by coderef2text,
7400-
it will behave the same way as the subroutine which you deparsed.
7399+
directives. So if you then compile the code returned by
7400+
L</coderef2text>, it will behave the same way as the subroutine
7401+
which you deparsed.
74017402
74027403
However, you may know that you intend to use the results in a
74037404
particular context, where some pragmas are already in scope. In
7404-
this case, you use the B<ambient_pragmas> method to describe the
7405+
this case, you use the L</ambient_pragmas> method to describe the
74057406
assumptions you wish to make.
74067407
74077408
Not all of the options currently have any useful effect. See
@@ -7421,7 +7422,7 @@ expect.
74217422
74227423
=item $[
74237424
7424-
Takes a number, the value of the array base $[.
7425+
Takes a number, the value of the array base C<$[>.
74257426
Obsolete: cannot be non-zero.
74267427
74277428
=item bytes
@@ -7468,7 +7469,7 @@ See L<warnings> for more information about lexical warnings.
74687469
=item warning_bits
74697470
74707471
These two parameters are used to specify the ambient pragmas in
7471-
the format used by the special variables $^H and ${^WARNING_BITS}.
7472+
the format used by the special variables C<$^H> and C<${^WARNING_BITS}>.
74727473
74737474
They exist principally so that you can write code like:
74747475
@@ -7526,7 +7527,7 @@ C<use strict>, C<use bytes>, C<use integer>
75267527
and C<use feature>.
75277528
75287529
Excepting those listed above, we're currently unable to guarantee that
7529-
B::Deparse will produce a pragma at the correct point in the program.
7530+
C<B::Deparse> will produce a pragma at the correct point in the program.
75307531
(Specifically, pragmas at the beginning of a block often appear right
75317532
before the start of the block instead.)
75327533
Since the effects of pragmas are often lexically scoped, this can mean
@@ -7536,16 +7537,16 @@ than in the input file.
75367537
=item *
75377538
75387539
In fact, the above is a specific instance of a more general problem:
7539-
we can't guarantee to produce BEGIN blocks or C<use> declarations in
7540+
we can't guarantee to produce C<BEGIN> blocks or C<use> declarations in
75407541
exactly the right place. So if you use a module which affects compilation
75417542
(such as by over-riding keywords, overloading constants or whatever)
75427543
then the output code might not work as intended.
75437544
75447545
=item *
75457546
75467547
Some constants don't print correctly either with or without B<-d>.
7547-
For instance, neither B::Deparse nor Data::Dumper know how to print
7548-
dual-valued scalars correctly, as in:
7548+
For instance, neither C<B::Deparse> nor L<Data::Dumper> know how to
7549+
print dual-valued scalars correctly, as in:
75497550
75507551
use constant E2BIG => ($!=7); $y = E2BIG; print $y, 0+$y;
75517552
@@ -7575,7 +7576,7 @@ which is not, consequently, deparsed correctly.
75757576
=item *
75767577
75777578
Lexical (my) variables declared in scopes external to a subroutine
7578-
appear in coderef2text output text as package variables. This is a tricky
7579+
appear in L</coderef2text> output text as package variables. This is a tricky
75797580
problem, as perl has no native facility for referring to a lexical variable
75807581
defined within a different scope, although L<PadWalker> is a good start.
75817582

0 commit comments

Comments
 (0)