Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

modperl::global(3) [osx man page]

apache_mod_perl-108~358::mod_perl-2.0.7::docs::api::ModPUser:Contributed Perapache_mod_perl-108~358::mod_perl-2.0.7::docs::api::ModPerl::Global(3)

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 "ModPerl::Global" provides an API 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. 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. perl v5.16.2 2011-02-apache_mod_perl-108~358::mod_perl-2.0.7::docs::api::ModPerl::Global(3)

Check Out this Related Man Page

apache_mod_perl-108~358::mod_perl-2.0.7::docs::api::ModPUser:Contributed Perl Doapache_mod_perl-108~358::mod_perl-2.0.7::docs::api::ModPerl::MM(3)

NAME
ModPerl::MM -- A "subclass" of ExtUtils::MakeMaker for mod_perl 2.0 Synopsis use ModPerl::MM; # ModPerl::MM takes care of doing all the dirty job of overriding ModPerl::MM::WriteMakefile(...); # if there is a need to extend the default methods sub MY::constants { my $self = shift; $self->ModPerl::MM::MY::constants; # do something else; } # or prevent overriding completely sub MY::constants { shift->MM::constants(@_); }"; # override the default value of WriteMakefile's attribute my $extra_inc = "/foo/include"; ModPerl::MM::WriteMakefile( ... INC => $extra_inc, ... ); # extend the default value of WriteMakefile's attribute my $extra_inc = "/foo/include"; ModPerl::MM::WriteMakefile( ... INC => join " ", $extra_inc, ModPerl::MM::get_def_opt('INC'), ... ); Description "ModPerl::MM" is a "subclass" of "ExtUtils::MakeMaker" for mod_perl 2.0, to a degree of sub-classability of "ExtUtils::MakeMaker". When "ModPerl::MM::WriteMakefile()" is used instead of "ExtUtils::MakeMaker::WriteMakefile()", "ModPerl::MM" overrides several "ExtUtils::MakeMaker" methods behind the scenes and supplies default "WriteMakefile()" arguments adjusted for mod_perl 2.0 build. It's written in such a way so that normally 3rd party module developers for mod_perl 2.0, don't need to mess with Makefile.PL at all. "MY::" Default Methods "ModPerl::MM" overrides method foo as long as Makefile.PL hasn't already specified a method MY::foo. If the latter happens, "ModPerl::MM" will DWIM and do nothing. In case the functionality of "ModPerl::MM" methods needs to be extended, rather than completely overriden, the "ModPerl::MM" methods can be called internally. For example if you need to modify constants in addition to the modifications applied by "ModPerl::MM::MY::constants", call the "ModPerl::MM::MY::constants" method (notice that it resides in the package "ModPerl::MM::MY" and not "ModPerl::MM"), then do your extra manipulations on constants: # if there is a need to extend the methods sub MY::constants { my $self = shift; $self->ModPerl::MM::MY::constants; # do something else; } In certain cases a developers may want to prevent from "ModPerl::MM" to override certain methods. In that case an explicit override in Makefile.PL will do the job. For example if you don't want the "constants()" method to be overriden by "ModPerl::MM", add to your Makefile.PL: sub MY::constants { shift->MM::constants(@_); }"; "ModPerl::MM" overrides the following methods: "ModPerl::MM::MY::post_initialize" This method is deprecated. "WriteMakefile()" Default Arguments "ModPerl::MM::WriteMakefile" supplies default arguments such as "INC" and "TYPEMAPS" unless they weren't passed to "ModPerl::MM::WriteMakefile" from Makefile.PL. If the default values aren't satisfying these should be overriden in Makefile.PL. For example to supply an empty INC, explicitly set the argument in Makefile.PL. ModPerl::MM::WriteMakefile( ... INC => '', ... ); If instead of fully overriding the default arguments, you want to extend or modify them, they can be retrieved using the "ModPerl::MM::get_def_opt()" function. The following example appends an extra value to the default "INC" attribute: my $extra_inc = "/foo/include"; ModPerl::MM::WriteMakefile( ... INC => join " ", $extra_inc, ModPerl::MM::get_def_opt('INC'), ... ); "ModPerl::MM" supplies default values for the following "ModPerl::MM::WriteMakefile" attributes: "CCFLAGS" "LIBS" "INC" "OPTIMIZE" "LDDLFLAGS" "TYPEMAPS" "dynamic_lib" "OTHERLDFLAGS" dynamic_lib => { OTHERLDFLAGS => ... } "macro" "MOD_INSTALL" macro => { MOD_INSTALL => ... } makes sure that Apache-Test/ is added to @INC. Public API The following functions are a part of the public API. They are described elsewhere in this document. "WriteMakefile()" ModPerl::MM::WriteMakefile(...); "get_def_opt()" my $def_val = ModPerl::MM::get_def_opt($key); perl v5.16.2 2011-02-07 apache_mod_perl-108~358::mod_perl-2.0.7::docs::api::ModPerl::MM(3)
Man Page