Perl::Destruct::Level - Allow to change perl's destruction level
Contents
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".)
Description
This module allows one to change perl's internal destructionlevel.
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 one 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.
Name
Perl::Destruct::Level - Allow to change perl's destruction level
See Also
perlrun, perlhack
perl v5.40.0 2024-10-20 Level(3pm)
Synopsis
use Perl::Destruct::Level level => 1;
my $current_destruct_level = Perl::Destruct::Level::get_destruct_level();
