man ModPerl::Global () - ModPerl::Global -- Perl API for manipulating special Perl lists

NAME

ModPerl::Global -- Perl API for manipulating special Perl lists

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);

Description

CWModPerl::Global provides an API to manipulate special perl lists. At the moment only the CWEND blocks list is supported.

This API allows you to change the normal Perl behavior, and execute special lists when you need to.

For example CWModPerl::RegistryCooker uses it to run CWEND blocks in the scripts at the end of each request.

Before loading a module containing package CW$package, you need to register it, so the special blocks will be intercepted by mod_perl and not given to Perl. CWspecial_list_register does that. Later on when you want to execute the special blocks, CWspecial_list_call should be called. Unless you want to call the list more than once, clear the list with CWspecial_list_clear.

API

CWModPerl::Global provides the following methods: Call the special list

  $ok = special_list_call($key => $package);
The name of the special list. At the moment only CW'END' is supported. what package to special list is for true value if CW$key is known, false otherwise.
since: 2.0.00
Clear the special list

  $ok = special_list_clear($key => $package);
The name of the special list. At the moment only CW'END' is supported. what package to special list is for true value if CW$key is known, false otherwise.
since: 2.0.00
Register the special list

  $ok = special_list_call($key => $package);
The name of the special list. At the moment only CW'END' is supported. what package to special list is for true value if CW$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 CWEND blocks and there are no longer under your control.

See Also

mod_perl 2.0 documentation.

Copyright

mod_perl 2.0 and its core modules are copyrighted under The Apache Software License, Version 2.0.

Authors

The mod_perl development team and numerous contributors.