diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-15 19:43:11 +0000 |
commit | fc22b3d6507c6745911b9dfcc68f1e665ae13dbc (patch) | |
tree | ce1e3bce06471410239a6f41282e328770aa404a /upstream/archlinux/man3/B::Showlex.3perl | |
parent | Initial commit. (diff) | |
download | manpages-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.3perl | 140 |
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 |