B::Showlex - phpMan

Command: man perldoc info search(apropos)  


Sections
NAME SYNOPSIS DESCRIPTION EXAMPLES SEE ALSO TODO AUTHOR
NAME
    B::Showlex - Show lexical variables used in functions or files

SYNOPSIS
            perl -MO=Showlex[,-OPTIONS][,SUBROUTINE] foo.pl

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.

EXAMPLES
    Traditional form:

     $ perl -MO=Showlex -e 'my ($i,$j,$k)=(1,"foo")'
     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

    New-style form:

     $ perl -MO=Showlex,-newlex -e 'my ($i,$j,$k)=(1,"foo")'
     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

    New form, no specials, outside O framework:

     $ perl -MB::Showlex -e \
        'my ($i,$j,$k)=(1,"foo"); B::Showlex::compile(-newlex,-nosp)->()'
     main Pad has 4 entries
     1: (0x998ffb0) "$i" = IV (0x9983234) 1
     2: (0x998ff68) "$j" = PV (0x998ff5c) "foo"
     3: (0x998ff80) "$k" = NULL (0x998ff74)

    Note that this example shows the values of the lexicals, whereas the
    other examples did not (as they're compile-time only).

  OPTIONS
    The "-newlex" option produces a more readable "name => value" format,
    and is shown in the second example above.

    The "-nosp" option eliminates reporting of SPECIALs, such as "0: SPECIAL
    #1 &PL_sv_undef" above. Reporting of SPECIALs can sometimes overwhelm
    your declared lexicals.

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.

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.

AUTHOR
    Malcolm Beattie, "mbeattie AT sable.uk"


Generated by phpMan Author: Che Dong On Apache Under GNU General Public License - MarkDown Format
2026-05-23 04:31 @216.73.217.24 CrawledBy Mozilla/5.0 AppleWebKit/537.36 (KHTML, like Gecko; compatible; ClaudeBot/1.0; +claudebot@anthropic.com)
Valid XHTML 1.0 TransitionalValid CSS!

^_back to top