summaryrefslogtreecommitdiffstats
path: root/upstream/archlinux/man3/B::Showlex.3perl
diff options
context:
space:
mode:
authorDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
committerDaniel Baumann <daniel.baumann@progress-linux.org>2024-04-15 19:43:11 +0000
commitfc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch)
treece1e3bce06471410239a6f41282e328770aa404a /upstream/archlinux/man3/B::Showlex.3perl
parentInitial commit. (diff)
downloadmanpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.tar.xz
manpages-l10n-fc22b3d6507c6745911b9dfcc68f1e665ae13dbc.zip
Adding upstream version 4.22.0.upstream/4.22.0
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'upstream/archlinux/man3/B::Showlex.3perl')
-rw-r--r--upstream/archlinux/man3/B::Showlex.3perl140
1 files changed, 140 insertions, 0 deletions
diff --git a/upstream/archlinux/man3/B::Showlex.3perl b/upstream/archlinux/man3/B::Showlex.3perl
new file mode 100644
index 00000000..8d9f5efb
--- /dev/null
+++ b/upstream/archlinux/man3/B::Showlex.3perl
@@ -0,0 +1,140 @@
+.\" -*- mode: troff; coding: utf-8 -*-
+.\" Automatically generated by Pod::Man 5.01 (Pod::Simple 3.43)
+.\"
+.\" 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
+..
+.\" \*(C` and \*(C' are quotes in nroff, nothing in troff, for use with C<>.
+.ie n \{\
+. ds C` ""
+. ds C' ""
+'br\}
+.el\{\
+. 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
+.\" ========================================================================
+.\"
+.IX Title "B::Showlex 3perl"
+.TH B::Showlex 3perl 2024-02-11 "perl v5.38.2" "Perl Programmers Reference Guide"
+.\" 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
+B::Showlex \- Show lexical variables used in functions or files
+.SH SYNOPSIS
+.IX Header "SYNOPSIS"
+.Vb 1
+\& perl \-MO=Showlex[,\-OPTIONS][,SUBROUTINE] foo.pl
+.Ve
+.SH DESCRIPTION
+.IX Header "DESCRIPTION"
+When a comma-separated list of subroutine names is given as options, Showlex
+prints the lexical variables used in those subroutines. Otherwise, it prints
+the file-scope lexicals in the file.
+.SH EXAMPLES
+.IX Header "EXAMPLES"
+Traditional form:
+.PP
+.Vb 10
+\& $ perl \-MO=Showlex \-e \*(Aqmy ($i,$j,$k)=(1,"foo")\*(Aq
+\& Pad of lexical names for comppadlist has 4 entries
+\& 0: (0x8caea4) undef
+\& 1: (0x9db0fb0) $i
+\& 2: (0x9db0f38) $j
+\& 3: (0x9db0f50) $k
+\& Pad of lexical values for comppadlist has 5 entries
+\& 0: SPECIAL #1 &PL_sv_undef
+\& 1: NULL (0x9da4234)
+\& 2: NULL (0x9db0f2c)
+\& 3: NULL (0x9db0f44)
+\& 4: NULL (0x9da4264)
+\& \-e syntax OK
+.Ve
+.PP
+New-style form:
+.PP
+.Vb 7
+\& $ perl \-MO=Showlex,\-newlex \-e \*(Aqmy ($i,$j,$k)=(1,"foo")\*(Aq
+\& main Pad has 4 entries
+\& 0: (0x8caea4) undef
+\& 1: (0xa0c4fb8) "$i" = NULL (0xa0b8234)
+\& 2: (0xa0c4f40) "$j" = NULL (0xa0c4f34)
+\& 3: (0xa0c4f58) "$k" = NULL (0xa0c4f4c)
+\& \-e syntax OK
+.Ve
+.PP
+New form, no specials, outside O framework:
+.PP
+.Vb 6
+\& $ perl \-MB::Showlex \-e \e
+\& \*(Aqmy ($i,$j,$k)=(1,"foo"); B::Showlex::compile(\-newlex,\-nosp)\->()\*(Aq
+\& main Pad has 4 entries
+\& 1: (0x998ffb0) "$i" = IV (0x9983234) 1
+\& 2: (0x998ff68) "$j" = PV (0x998ff5c) "foo"
+\& 3: (0x998ff80) "$k" = NULL (0x998ff74)
+.Ve
+.PP
+Note that this example shows the values of the lexicals, whereas the other
+examples did not (as they're compile-time only).
+.SS OPTIONS
+.IX Subsection "OPTIONS"
+The \f(CW\*(C`\-newlex\*(C'\fR option produces a more readable \f(CW\*(C`name => value\*(C'\fR format,
+and is shown in the second example above.
+.PP
+The \f(CW\*(C`\-nosp\*(C'\fR option eliminates reporting of SPECIALs, such as \f(CW\*(C`0: SPECIAL
+#1 &PL_sv_undef\*(C'\fR above. Reporting of SPECIALs can sometimes overwhelm
+your declared lexicals.
+.SH "SEE ALSO"
+.IX Header "SEE ALSO"
+B::Showlex can also be used outside of the O framework, as in the third
+example. See B::Concise for a fuller explanation of reasons.
+.SH TODO
+.IX Header "TODO"
+Some of the reported info, such as hex addresses, is not particularly
+valuable. Other information would be more useful for the typical
+programmer, such as line-numbers, pad-slot reuses, etc.. Given this,
+\&\-newlex is not a particularly good flag-name.
+.SH AUTHOR
+.IX Header "AUTHOR"
+Malcolm Beattie, \f(CW\*(C`mbeattie@sable.ox.ac.uk\*(C'\fR