NAME

Devel::EvalContext - Save lexicals and hints between calls to eval

SYNOPSIS

  use Devel::EvalContext;
  my $cxt = Devel::EvalContext->new;
  $cxt->run(q{ my $a = 5; });
  $cxt->run(q{ print $a; });

DESCRIPTION

Sometimes it's necessary to run some code that creates lexicals and then run more code that uses the same ones. Perhaps it's in an interactive development environment.

However, unlike Scheme, perl's eval primitive doesn't take an extra parameter to specify the environment to evaluate inside of. This module corrects this deficit.

METHODS

new

Create a new, empty context. It has no lexicals and hints are set to zero.

run

Equivalent to eval but with a context specified.

SUPPORT

Please send bugs, queries or encouragement to <bug-Devel-EvalContext@rt.cpan.org> or <bsmith@cpan.org>.

SEE ALSO

perlfunc

AUTHOR

Benjamin Smith <bsmith@cpan.org>

COPYRIGHT AND LICENSE

Copyright (C) 2006 by Benjamin Smith.

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available.