NAME

PadWalker - walk pads

SYNOPSIS

use PadWalker qw(peek_my peek_sub);
...

DESCRIPTION

PadWalker is a module which allows you to inspect (and even change!) lexical variables in any subroutine which called you. It will only show those variable which are in-scope at the point of the call.

The peek_my routine takes one parameter, the number of call levels to go back. (It works the same way as caller() does.) It returns a reference to a hash which associates each variable name with a reference to its value. The variable names include the prefix, so $x is actually '$x'.

For example: my $x = 12; my $h = peek_my (0); ${$h->{'$x'}}++;

print $x;  # prints 13

Or a more complex example:

sub increment_my_x {
  my $h = peek_my (1);
  ${$h->{'$x'}}++;
}

my $x=5;
increment_my_x;
print $x;  # prints 6

The peek_sub routine takes a coderef as its argument, and returns a hash of the lexical variables used in that sub.

AUTHOR

Robin Houston <robin@kitsite.com>

With contributions from Richard Soberberg.

SEE ALSO

perl(1).

COPYRIGHT

Copyright (c) 2000-2001, Robin Houston. All Rights Reserved. This module is free software. It may be used, redistributed and/or modified under the same terms as Perl itself.

1 POD Error

The following errors were encountered while parsing the POD:

Around line 70:

=back without =over