http://www.perlmonks.org?node_id=1002914


in reply to [SOLVED] - Print variable name/value for all program variables

After a quick Google search, I found this interesting thread on Stack Overflow: How can I list all variables that are in a given scope?

Take a look at this code, from the thread:

{ no strict 'refs'; foreach my $entry ( keys %main:: ) { print "$entry\n"; } }

Although, I don't think you can use this "as is", I think this is a good clue for what to look for.

Testing never proves the absence of faults, it only shows their presence.

Replies are listed 'Best First'.
Re^2: Print variable name/value for all program variables
by Athanasius (Archbishop) on Nov 08, 2012 at 14:56 UTC

    Yes. Include a package declaration at the head of your script, then you can get the names of the variables (and subroutines) as follows:

    0:51 >perl -E "package Foo; $x = 42; $y = 'fred'; sub command { print + 'Special command'; } say for sort keys %Foo::;" command x y 0:54 >

    Hope that helps,

    Athanasius <°(((><contra mundum