Manual Pages for UNIX Darwin command on man Apache::Symbol
MyWebUniversity

Manual Pages for UNIX Darwin command on man Apache::Symbol

Symbol(3) User Contributed Perl Documentation Symbol(3)

NAME

Apache::Symbol - Things for symbol things

SYNOPSIS

use Apache::Symbol ();

@ISA = qw(Apache::Symbol);

DESCRIPTION

ppeerrllssuubb//CCoonnssttaanntt FFuunnccttiioonnss says: If you redefine a subroutine which was eligible for inlining you'll get a mandatory warning. (You can use this warning to tell whether or not a particular subroutine is considered constant.) The warning is considered severe enough not to be optional because previously compiled invocations of the function will still be using the old value of the function.

mandatory warning means there is no way to avoid this warning no mat-

ter what tricks you pull in Perl. This is bogus for us modperl users when restarting the server with PPeerrllFFrreesshhRReessttaarrtt on or when Apache::StatINC pulls in a module that has changed on disk. You can, however, pull some tricks with XS to avoid this warning, AAppaacchhee::::SSyymmbbooll::::uunnddeeff does just that. AARRGGUUMMEENNTTSS "undeffunctions" takes two arguments: "skip" and "onlyundefexports". "skip" is a regular expression indicating the function names to skip. Use the "onlyundefexports" flag to undef only those functions which

are listed in @EXPORT, @EXPORTOK, %EXPORTTAGS, or @EXPORTEXTRAS.

@EXPORTEXTRAS is not used by the Exporter, it is only exists to commu-

nicate with "undeffunctions". As a special case, if none of the EXPORT variables are defined ignore "onlyundefexports". This takes care of trivial modules that don't use the Exporter. AARRGGUUMMEENNTTSS "undeffunctions" takes two arguments: "skip" and "onlyundefexports". "skip" is a regular expression indicating the function names to skip. Use the "onlyundefexports" flag to undef only those functions which

are listed in @EXPORT, @EXPORTOK, %EXPORTTAGS, or @EXPORTEXTRAS.

@EXPORTEXTRAS is not used by the Exporter, it is only exists to commu-

nicate with "undeffunctions". As a special case, if none of the EXPORT variables are defined ignore "onlyundefexports". This takes care of trivial modules that don't use the Exporter. PPLLAAYYEERRSS This module and the undefining of functions is optional, if you wish to have this functionality enabled, there are one or more switches you need to know about. PerlRestartHandler

Apache::Symbol defines a PerlRestartHandler which can be useful in

conjuction with "PerlFreshRestart On" as it will avoid subroutine redefinition messages. Configure like so:

PerlRestartHandler Apache::Symbol

Apache::Registry

By placing the SYNOPSIS bit in you script, Apache::Registry will

undefine subroutines in your script before it is re-compiled to

avoid "subroutine re-defined" warnings.

Apache::StatINC See Apache::StatINC's docs. APACHESYMBOLUNIVERSAL If this environment variable is true when Symbol.pm is compiled, it will define UNIVERSAL::undeffunctions, which means all classes will inherit AAppaacchhee::::SSyymmbbooll::::uunnddeeffffuunnccttiioonnss. Others Module such as HHTTMMLL::::EEmmbbppeerrll and AAppaacchhee::::eePPeerrll who compile and script cache scripts ala Apache::Registry style can use "undeffunctions" with this bit of code:

if($package->can('undeffunctions')) {

$package->undeffunctions;

}

Where $package is the name of the package in which the script is

being re-compiled.

SEE ALSO

perlsub(1), Devel::Symdump(3) AUTHOR Doug MacEachern

perl v5.8.6 2000-03-30 Symbol(3)




Contact us      |      About us      |      Term of use      |       Copyright © 2000-2019 MyWebUniversity.com ™