NAME¶
Perl::Destruct::Level - Allow to change perl's destruction level
SYNOPSIS¶
use Perl::Destruct::Level level => 1;
my $current_destruct_level = Perl::Destruct::Level::get_destruct_level();
DESCRIPTION¶
This module allows to change perl's internal
destruction level.
The default value of the destruct level is 0; it means that perl won't bother
destroying all its internal data structures, but let the OS do the cleanup for
it at exit.
For perls built with debugging support ("-DDEBUGGING"), an environment
variable "PERL_DESTRUCT_LEVEL" allows to control the destruction
level. This modules enables to modify it on non-debugging perls too.
Relevant values recognized by perl are 1 and 2. Consult your source code to know
exactly what they mean. Note that some embedded environments might extend the
meaning of the destruction level for their own purposes: mod_perl does that,
for example.
CAVEATS¶
This module won't work when used from within an END block.
Loading the "threads" module will set the destruction level to 2.
(This is to enable spawned threads to properly cleanup their objects.) Loading
modules that load "threads", even if they don't spawn threads, will
also set the destruction level to 2. (A common example of such a module is
"Test::Builder".)
AUTHOR¶
Copyright (c) 2007 Rafael Garcia-Suarez. This program is free software; you may
redistribute it and/or modify it under the same terms as Perl itself.
SEE ALSO¶
perlrun, perlhack