ModPerl::Global (3)
Leading comments
Automatically generated by Pod::Man 4.09 (Pod::Simple 3.35) Standard preamble: ========================================================================
NAME
ModPerl::Global -- Perl API for manipulating special Perl listsSynopsis
use ModPerl::Global (); my $package = 'MyApache2::Package'; # make the END blocks of this package special ModPerl::Global::special_list_register(END => $package); # Execute all encoutered END blocks from this package now ModPerl::Global::special_list_call( END => $package); # delete the list of END blocks ModPerl::Global::special_list_clear( END => $package);
Description
"ModPerl::Global" provides anAPI
to manipulate special perl
lists. At the moment only the "END" blocks list is supported.
This
API
allows you to change the normal Perl behavior, and execute
special lists when you need to.
For example "ModPerl::RegistryCooker" uses it to run "END" blocks in the scripts at the end of each request.
Before loading a module containing package $package, you need to register it, so the special blocks will be intercepted by mod_perl and not given to Perl. "special_list_register" does that. Later on when you want to execute the special blocks, "special_list_call" should be called. Unless you want to call the list more than once, clear the list with "special_list_clear".
API
"ModPerl::Global" provides the following methods:special_list_call
Call the special list
$ok = special_list_call($key => $package);
- arg1: $key ( string )
- The name of the special list. At the moment only 'END' is supported.
- arg2: $package ( string )
- what package to special list is for
- ret: $ok ( boolean )
- true value if $key is known, false otherwise.
- since: 2.0.00
special_list_clear
Clear the special list
$ok = special_list_clear($key => $package);
- arg1: $key ( string )
- The name of the special list. At the moment only 'END' is supported.
- arg2: $package ( string )
- what package to special list is for
- ret: $ok ( boolean )
- true value if $key is known, false otherwise.
- since: 2.0.00
special_list_register
Register the special list
$ok = special_list_call($key => $package);
- arg1: $key ( string )
- The name of the special list. At the moment only 'END' is supported.
- arg2: $package ( string )
- what package to special list is for
- ret: $ok ( boolean )
- true value if $key is known, false otherwise.
- since: 2.0.00
Notice that you need to register the package before it is loaded. If you register it after, Perl has already compiled the "END" blocks and there are no longer under your control.