=head1 NAME
ModPerl::Global -- Perl API for manipulating special Perl lists
=head1 Synopsis
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);
=head1 Description
C<ModPerl::Global> provides an API to manipulate special perl
lists. At the moment only the C<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
C<L<ModPerl::RegistryCooker|docs::2.0::api::ModPerl::RegistryCooker>>
uses it to run C<END> blocks in the scripts at the end of each
request.
Before loading a module containing package C<$package>, you need to
register it, so the special blocks will be intercepted by mod_perl and
not given to
Perl. C<L<special_list_register|/C_special_list_register_>> does
that. Later on when you want to execute the special blocks,
C<L<special_list_call|/C_special_list_call_>> should be called. Unless
you want to call the list more than once, clear the list with
C<L<special_list_clear|/C_special_list_clear_>>.
=head1 API
C<ModPerl::Global> provides the following methods:
=head2 C<special_list_call>
Call the special list
$ok = special_list_call($key => $package);
=over 4
=item arg1: C<$key> ( string )
The name of the special list. At the moment only C<'END'> is
supported.
=item arg2: C<$package> ( string )
what package to special list is for
=item ret: C<$ok> ( boolean )
true value if C<$key> is known, false otherwise.
=item since: 2.0.00
=back
=head2 C<special_list_clear>
Clear the special list
$ok = special_list_clear($key => $package);
=over 4
=item arg1: C<$key> ( string )
The name of the special list. At the moment only C<'END'> is
supported.
=item arg2: C<$package> ( string )
what package to special list is for
=item ret: C<$ok> ( boolean )
true value if C<$key> is known, false otherwise.
=item since: 2.0.00
=back
=head2 C<special_list_register>
Register the special list
$ok = special_list_call($key => $package);
=over 4
=item arg1: C<$key> ( string )
The name of the special list. At the moment only C<'END'> is
supported.
=item arg2: C<$package> ( string )
what package to special list is for
=item ret: C<$ok> ( boolean )
true value if C<$key> is known, false otherwise.
=item since: 2.0.00
=back
Notice that you need to register the package before it is loaded. If
you register it after, Perl has already compiled the C<END> blocks and
there are no longer under your control.
=head1 See Also
L<mod_perl 2.0 documentation|docs::2.0::index>.
=head1 Copyright
mod_perl 2.0 and its core modules are copyrighted under
The Apache Software License, Version 2.0.
=head1 Authors
L<The mod_perl development team and numerous
contributors|about::contributors::people>.
=cut