Sophie

Sophie

distrib > Mandriva > 2006.0 > i586 > by-pkgid > 6791508632a468eef1c29c63932a94db > files > 5

perl-PadWalker-0.10-1mdk.i586.rpm

-----------------------------------------------------------------------------
| PadWalker v0.10    - Robin Houston
-----------------------------------------------------------------------------

Changes since v0.09:
	- accommodate the new versions of perl (5.8.1)
	- acknowledge that test 9 fails because nested eval handling
	  is simply broken. (Fix in a future release.)

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 variables 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@cpan.org>