Subject: | PadWalker attaches strange values to Pad when run at top-level in debuggers |
Run this self-describing file both inside a debugger (std command-line
one will do), and outside. Debugger results are somehow polluted by
DB namespace.
See http://rt.cpan.org/NoAuth/Bug.html?id=4547 for my system info.
#!/usr/bin/env perl
#
# Running this program in the debugger creates weird interactions
# at the top-level.
use strict;
use PadWalker;
use Data::Dumper;
our @garray = qw(contents of this var differs when run in debugger or outside);
my $topLevelValue = "same with this lexical";
sub f1() {
my $local = "but it doesn't happen when peek_my is called from inner subs\n";
for my $i (0 .. 1) {
my $h = PadWalker::peek_my($i);
print "f1(), iter $i:", Dumper $h;
}
}
f1();
my $h = PadWalker::peek_my(0);
print "global level: ", Dumper $h;