NAME
Devel::GlobalPhase - Detect perl's global phase on older perls.
SYNOPSIS
use Devel::GlobalPhase;
print global_phase; # RUN
use Devel::GlobalPhase -var;
print ${^GLOBAL_PHASE}; # RUN
DESCRIPTION
This gives access to ${^GLOBAL_PHASE} in versions of perl that don't provide it. The built in variable will be used if it is available.
If all that is needed is detecting global destruction, Devel::GlobalDestruction should be used instead of this module.
EXPORTS
global_phase
Returns the global phase either from ${^GLOBAL_PHASE}
or by calculating it.
OPTIONS
-var
If this option is specified on import, the global variable ${^GLOBAL_PHASE}
will be created if it doesn't exist, emulating the built in variable from newer perls.
BUGS
There are tricks that can be played with B or XS that would fool this module for the INIT and END phase.
During an
END {}
block created at runtime after this module is loaded, the phase may be reported asRUN
. While this could be made more accurate, it would slow down the module significantly during the RUN phase, and has the potential to segfault perl.
AUTHOR
haarg - Graham Knop (cpan:HAARG) <haarg@haarg.org>
CONTRIBUTORS
Uses some code taken from Devel::GlobalDestruction.
COPYRIGHT
Copyright (c) 2013 the Devel::GlobalPhase "AUTHOR" and "CONTRIBUTORS" as listed above.
LICENSE
This library is free software and may be distributed under the same terms as perl itself.