Eval-Context
view release on metacpan or search on metacpan
lib/Eval/Context.pm view on Meta::CPAN
) ;
}
}
if($options->{EVAL_SIDE_PERSISTENT_VARIABLES}{SAVE}{NAME} eq $options->{EVAL_SIDE_PERSISTENT_VARIABLES}{GET}{NAME})
{
$options->{INTERACTION}{DIE}->
(
$self,
"$self->{NAME}: invalid definition, eval-side persistence handlers have the same name "
. "at '$options->{FILE}:$options->{LINE}'!"
) ;
}
}
else
{
$options->{INTERACTION}{DIE}->($self, "$self->{NAME}: 'EVAL_SIDE_PERSISTENT_VARIABLES' isn't a hash reference at '$options->{FILE}:$options->{LINE}'!") ;
}
return(1) ;
}
#-------------------------------------------------------------------------------
sub RemoveEvalSidePersistenceHandlers
{
=head2 [p] RemoveEvalSidePersistenceHandlers
Removes I<eval-side> persistent variable handlers. Used after calling C<eval> so the
next C<eval> can not access I<eval-side> persistent variables without being allowed to do so.
=cut
my ($self, $options) = @_ ;
for my $handler_type ('SAVE', 'GET')
{
reinstall_sub({
code => sub
{
$options->{INTERACTION}{DIE}->
(
$self,
"$self->{NAME}: No Persistence allowed on eval-side in package '$self->{CURRENT_RUNNING_PACKAGE}'!\n"
) ;
},
into => $self->{CURRENT_RUNNING_PACKAGE},
as => $options->{EVAL_SIDE_PERSISTENT_VARIABLES}{$handler_type}{NAME}
}) ;
}
return(1) ;
}
#-------------------------------------------------------------------------------
1 ;
=head1 BUGS AND LIMITATIONS
I have reported a very strange error when B<Safe> and B<Carp> are used together.
L<http://rt.cpan.org/Ticket/Display.html?id=31090>. The error can be reproduced
without using B<Eval::Context>.
=head1 AUTHOR
Khemir Nadim ibn Hamouda
CPAN ID: NKH
mailto:nadim@khemir.net
=head1 LICENSE AND COPYRIGHT
This program is free software; you can redistribute
it and/or modify it under the same terms as Perl itself.
=head1 SUPPORT
You can find documentation for this module with the perldoc command.
perldoc Eval::Context
You can also look for information at:
=over 4
=item * AnnoCPAN: Annotated CPAN documentation
L<http://annocpan.org/dist/Eval-Context>
=item * RT: CPAN's request tracker
Please report any bugs or feature requests to L <bug-eval-context@rt.cpan.org>.
We will be notified, and then you'll automatically be notified of progress on
your bug as we make changes.
=item * Search CPAN
L<http://search.cpan.org/dist/Eval-Context>
=back
=cut
( run in 2.493 seconds using v1.01-cache-2.11-cpan-437f7b0c052 )