ADC Home > Reference Library > Reference > Mac OS X > Mac OS X Man Pages

 

This document is a Mac OS X manual page. Manual pages are a command-line technology for providing documentation. You can view these manual pages locally using the man(1) command. These manual pages come from many different sources, and thus, have a variety of writing styles.

For more information about the manual page format, see the manual page for manpages(5).



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



NAME
       Apache::Symbol - Things for symbol things

SYNOPSIS
        use Apache::Symbol ();

        @ISA = qw(Apache::Symbol);

DESCRIPTION
       perlsub/Constant Functions 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 matter what tricks you pull in
       Perl.  This is bogus for us mod_perl users when restarting the server with PerlFreshRestart 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, Apache::Symbol::undef does just
       that.

ARGUMENTS
       "undef_functions" takes two arguments: "skip" and "only_undef_exports".

       "skip" is a regular expression indicating the function names to skip.

       Use the "only_undef_exports" flag to undef only those functions which are listed in @EXPORT,
       @EXPORT_OK, %EXPORT_TAGS, or @EXPORT_EXTRAS.  @EXPORT_EXTRAS is not used by the Exporter, it is only
       exists to communicate with "undef_functions".

       As a special case, if none of the EXPORT variables are defined ignore "only_undef_exports".  This
       takes care of trivial modules that don't use the Exporter.

ARGUMENTS
       "undef_functions" takes two arguments: "skip" and "only_undef_exports".

       "skip" is a regular expression indicating the function names to skip.

       Use the "only_undef_exports" flag to undef only those functions which are listed in @EXPORT,
       @EXPORT_OK, %EXPORT_TAGS, or @EXPORT_EXTRAS.  @EXPORT_EXTRAS is not used by the Exporter, it is only
       exists to communicate with "undef_functions".

       As a special case, if none of the EXPORT variables are defined ignore "only_undef_exports".  This
       takes care of trivial modules that don't use the Exporter.

PLAYERS
       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.

       APACHE_SYMBOL_UNIVERSAL
           If this environment variable is true when Symbol.pm is compiled, it will define
           UNIVERSAL::undef_functions, which means all classes will inherit Apache::Symbol::undef_functions.

       Others
           Module such as HTML::Embperl and Apache::ePerl who compile and script cache scripts ala
           Apache::Registry style can use "undef_functions" with this bit of code:

               if($package->can('undef_functions')) {
                   $package->undef_functions;
               }

           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.8                                      2000-03-30                                        Symbol(3)

Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.