stas        02/02/27 10:03:39

  Modified:    src      config.cfg
               src/docs/1.0/api Apache.pod
               src/docs/1.0/faqs cgi_to_mod_perl.pod config.cfg
                        mod_perl.pod mod_perl_cgi.pod mod_perl_faq.pod
                        mod_perl_method_handlers.pod mod_perl_traps.pod
               src/docs/1.0/guide advocacy.pod browserbugs.pod config.pod
                        control.pod correct_headers.pod databases.pod
                        dbm.pod debug.pod download.pod frequent.pod
                        hardware.pod help.pod install.pod intro.pod
                        modules.pod multiuser.pod performance.pod perl.pod
                        porting.pod scenario.pod security.pod snippets.pod
                        start.pod strategy.pod style.css
                        troubleshooting.pod
               src/docs/1.0/win32 win32_binaries.pod win32_compile.pod
               src/docs/2.0/api/mod_perl-2.0/APR PerlIO.pod
               src/docs/2.0/api/mod_perl-2.0/Apache ServerUtil.pod
               src/docs/2.0/devel/help help.pod
               src/docs/2.0/devel/porting_from_1.x porting_from_1.x.pod
               src/docs/2.0/devel/testing testing.pod
               src/docs/2.0/user/compat compat.pod
               src/docs/2.0/user/design design.pod
               src/docs/2.0/user/install install.pod
               src/maillist email-etiquette.pod list-advocacy.pod
                        list-announce.pod list-asp.pod list-cvs.pod
                        list-dev.pod list-docs-cvs.pod list-docs-dev.pod
                        list-embperl.pod list-test-cvs.pod
                        list-test-dev.pod list-users.pod maillist.tmpl
  Removed:     src/docs/1.0/faqs email-etiquette.pod
  Log:
  - loads of fixes for the internal linking implementation
  
  Revision  Changes    Path
  1.12      +13 -0     modperl-docs/src/config.cfg
  
  Index: config.cfg
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/config.cfg,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- config.cfg        4 Feb 2002 11:48:18 -0000       1.11
  +++ config.cfg        27 Feb 2002 18:03:35 -0000      1.12
  @@ -89,6 +89,19 @@
             
                # location of the templates (searched left to right)
                tmpl       => [qw(tmpl/custom tmpl/std tmpl)],
  +
  +             # search path for pods, etc. must put more specific paths first!
  +             search_path => [qw(
  +                 docs/2.0/api/mod_perl-2.0 
  +                 docs/2.0/api/ModPerl-Registry 
  +                 docs/2.0 
  +                 docs/1.0/api
  +                 docs/1.0
  +                 .
  +             )],
  +             # what extensions to search for
  +             search_exts => [qw(pod pm html)],
  +
            },  
   
        file => {
  
  
  
  1.5       +3 -3      modperl-docs/src/docs/1.0/api/Apache.pod
  
  Index: Apache.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/api/Apache.pod,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- Apache.pod        24 Jan 2002 14:54:25 -0000      1.4
  +++ Apache.pod        27 Feb 2002 18:03:35 -0000      1.5
  @@ -313,7 +313,7 @@
   =item $c-E<gt>local_addr
   
   A packed SOCKADDR_IN in the same format as returned by
  -L<Socket/pack_sockaddr_in>, containing the port and address on the
  +C<Socket::pack_sockaddr_in>, containing the port and address on the
   local host that the remote client is connected to.  This is set by
   the server when the connection record is created so it is always
   defined.
  @@ -321,7 +321,7 @@
   =item $c-E<gt>remote_addr
   
   A packed SOCKADDR_IN in the same format as returned by
  -L<Socket/pack_sockaddr_in>, containing the port and address on the
  +C<Socket::pack_sockaddr_in>, containing the port and address on the
   remote host that the server is connected to.  This is set by the
   server when the connection record is created so it is always defined.
   
  @@ -432,7 +432,7 @@
   
   Returns an array reference of hash references, containing information
   related to the B<require> directive.  This is normally used for access
  -control, see L<Apache::AuthzAge> for an example.
  +control, see C<Apache::AuthzAge> for an example.
   
   =item $r-E<gt>auth_type
   
  
  
  
  1.2       +2 -2      modperl-docs/src/docs/1.0/faqs/cgi_to_mod_perl.pod
  
  Index: cgi_to_mod_perl.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/faqs/cgi_to_mod_perl.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- cgi_to_mod_perl.pod       5 Jan 2002 19:20:01 -0000       1.1
  +++ cgi_to_mod_perl.pod       27 Feb 2002 18:03:35 -0000      1.2
  @@ -107,13 +107,13 @@
   
   =item TRAPS
   
  -See L<mod_perl_traps>.
  +See L<common/known mod_perl traps|faqs::mod_perl_traps>.
   
   =back
   
   =head1 REPORTING PROBLEMS
   
  -Read the L<SUPPORT> file.
  +Read the I<SUPPORT> file.
   
   =head1 SEE ALSO
   
  
  
  
  1.3       +0 -1      modperl-docs/src/docs/1.0/faqs/config.cfg
  
  Index: config.cfg
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/faqs/config.cfg,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- config.cfg        21 Feb 2002 08:53:50 -0000      1.2
  +++ config.cfg        27 Feb 2002 18:03:35 -0000      1.3
  @@ -18,7 +18,6 @@
                mod_perl_api.pod
                mod_perl_method_handlers.pod
                perl_myth.pod
  -             email-etiquette.pod
               ),
         ],
        copy_glob => [
  
  
  
  1.2       +34 -28    modperl-docs/src/docs/1.0/faqs/mod_perl.pod
  
  Index: mod_perl.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/faqs/mod_perl.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mod_perl.pod      5 Jan 2002 19:20:01 -0000       1.1
  +++ mod_perl.pod      27 Feb 2002 18:03:35 -0000      1.2
  @@ -43,14 +43,15 @@
   
   See 'perldoc Apache' for info on how to use the Perl-Apache API.
   
  -See the lib/ directory for example modules and L<apache-modlist.html>
  -for a comprehensive list.
  +See the I<lib/> directory for example modules and
  +L<products::apache-modlist> for a comprehensive list.
   
   See the eg/ directory for example scripts.
   
   =head1 mod_perl
   
  -For using mod_perl as a CGI replacement see the L<cgi_to_mod_perl> document.
  +For using mod_perl as a CGI replacement see the L<First steps needed
  +to use mod_perl as a CGI replacement|faqs::cgi_to_mod_perl> document.
   
   You may load modules at server startup via:
   
  @@ -225,10 +226,11 @@
   as possible.  The same is true under mod_perl.  However, since
   mod_perl normally only compiles scripts and modules once, in the
   parent server or once per-child, C<BEGIN> blocks in that code will
  -only be run once.  As L<perlmod> explains, once a C<BEGIN> has run, it
  -is immediately undefined.  In the mod_perl environment, this means
  -C<BEGIN> blocks will not be run during each incoming request unless
  -that request happens to be one that is compiling the code.  
  +only be run once.  As the I<perlmod> manpage explains, once a C<BEGIN>
  +has run, it is immediately undefined.  In the mod_perl environment,
  +this means C<BEGIN> blocks will not be run during each incoming
  +request unless that request happens to be one that is compiling the
  +code.
   
   Modules and files pulled in via require/use which contain C<BEGIN>
   blocks will be executed:
  @@ -248,10 +250,10 @@
   
   =head1 END blocks
   
  -As L<perlmod> explains, an C<END> subroutine is executed as late as
  -possible, that is, when the interpreter is being exited.  In the
  -mod_perl environment, the interpreter does not exit until the server
  -is shutdown.  However, mod_perl does make a special case for
  +As the I<perlmod> manpage explains, an C<END> subroutine is executed
  +as late as possible, that is, when the interpreter is being exited.
  +In the mod_perl environment, the interpreter does not exit until the
  +server is shutdown.  However, mod_perl does make a special case for
   B<Apache::Registry> scripts.
   
   Normally, C<END> blocks are executed by Perl during it's C<perl_run()>
  @@ -305,8 +307,9 @@
   AUTOLOADing.  (Modules that you 'use' will be compiled when the server
   starts unless they are inside an eval block.)  httpd will grow just as
   big as our /usr/bin/perl would, or a CGI process for that matter, it
  -all depends on your setup.  The L<mod_perl_tuning> document gives
  -advice on how to best setup your mod_perl server environment.
  +all depends on your setup.  The L<mod_perl
  +tuning|faqs::mod_perl_tuning> document gives advice on how to best
  +setup your mod_perl server environment.
   
   The mod_perl INSTALL document explains how to build the Apache::
   extensions as shared libraries (with 'perl Makefile.PL DYNAMIC=1').
  @@ -316,7 +319,8 @@
   However, on most systems, this strategy will only make the httpd
   I<look> smaller.  When in fact, an httpd with Perl linked static with
   take up less real memory and preform faster than shared libraries at
  -the same time.  See the L<mod_perl_tuning> document for details.
  +the same time.  See the L<mod_perl tuning|faqs::mod_perl_tuning>
  +document for details.
   
   =head2 MEMORY TIPS
   
  @@ -388,20 +392,21 @@
   
   =item Further Reading
   
  -In case I forgot to mention, read Vivek Khera's L<mod_perl_tuning>
  -document for more tips on improving Apache/mod_perl performance.
  +In case I forgot to mention, read Vivek Khera's L<mod_perl
  +tuning|faqs::mod_perl_tuning> document for more tips on improving
  +Apache/mod_perl performance.
   
   =back
   
   =head1 SWITCHES
   
   Normally when you run perl from the command line or have the shell
  -invoke it with `#!', you may choose to pass perl switch arguments
  -such as C<-w> or C<-T>.  Since the command line is only parsed once,
  -when the server starts, these switches are unavailable to mod_perl
  -scripts.  However, most command line arguments have a perl special
  -variable equivilant.  For example, the C<$^W> variable coresponds
  -to the C<-w> switch.  Consult L<perlvar> for more details.  With
  +invoke it with `#!', you may choose to pass perl switch arguments such
  +as C<-w> or C<-T>.  Since the command line is only parsed once, when
  +the server starts, these switches are unavailable to mod_perl scripts.
  +However, most command line arguments have a perl special variable
  +equivilant.  For example, the C<$^W> variable coresponds to the C<-w>
  +switch.  Consult the I<perlvar> manpage for more details.  With
   mod_perl it is also possible to turn on warnings globaly via the
   B<PerlWarn> directive:
   
  @@ -416,7 +421,8 @@
   Now, any and all code compiled inside httpd will be checked.
   
   The environment variable B<PERL5OPT> can be used to set additional
  -perl startup flags such as B<-d> and B<-D>.  See L<perlrun>.
  +perl startup flags such as B<-d> and B<-D>.  See the I<perlrun>
  +manpage.
   
   =head1 PERSISTENT DATABASE CONNECTIONS
   
  @@ -607,7 +613,7 @@
   
   =head1 PERL METHOD HANDLERS
   
  -See L<mod_perl_method_handlers>.
  +See L<How to use mod_perl's MethodHandlers|faqs::mod_perl_method_handlers>.
   
   =head1 PERL SECTIONS
   
  @@ -796,15 +802,15 @@
   
   =head1 WARNINGS
   
  -See L<mod_perl_traps>.
  +See L<common/known mod_perl traps|faqs::mod_perl_traps>.
   
   =head1 SUPPORT
   
  -See the L<SUPPORT> file.
  +See the I<SUPPORT> file.
   
   =head1 Win32
   
  -See L<INSTALL.win32> for building from sources.
  +See I<INSTALL.win32> for building from sources.
   
   Info about win32 binary distributions of mod_perl are available
   from: 
  @@ -813,7 +819,7 @@
   
   =head1 REVISION
   
  -$Id: mod_perl.pod,v 1.1 2002/01/05 19:20:01 stas Exp $
  +$Id: mod_perl.pod,v 1.2 2002/02/27 18:03:35 stas Exp $
   
   =head1 AUTHOR
   
  
  
  
  1.3       +1 -1      modperl-docs/src/docs/1.0/faqs/mod_perl_cgi.pod
  
  Index: mod_perl_cgi.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/faqs/mod_perl_cgi.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- mod_perl_cgi.pod  22 Feb 2002 08:33:09 -0000      1.2
  +++ mod_perl_cgi.pod  27 Feb 2002 18:03:35 -0000      1.3
  @@ -112,7 +112,7 @@
   do not need a run-time symbol table entry.
   
   Beware, though, of referring to a lexical variable indirectly from within a
  -subroutine.  To quote L<perlsub/"Private Variables via my()">, the
  +subroutine.  To quote I<perlsub/"Private Variables via my()">, the
   variable "... now becomes unreachable by the outside world, but retains
   its value between calls to ..."  the subroutine.  You will see classic
   "sticky query" symptoms if your code looks like this:
  
  
  
  1.3       +5 -4      modperl-docs/src/docs/1.0/faqs/mod_perl_faq.pod
  
  Index: mod_perl_faq.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/faqs/mod_perl_faq.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- mod_perl_faq.pod  22 Feb 2002 08:33:09 -0000      1.2
  +++ mod_perl_faq.pod  27 Feb 2002 18:03:35 -0000      1.3
  @@ -98,12 +98,13 @@
   
   =head2 How do I run CGI scripts under mod_perl?
   
  -Refer to L<mod_perl_cgi> for tips on writing and converting CGI
  -scripts for mod_perl.
  +Refer to the L<running CGI scripts under mod_perl|faqs::mod_perl_cgi>
  +document for tips on writing and converting CGI scripts for mod_perl.
   
   =head2 How do I access the Apache API from mod_perl?
   
  -Interfacing with Apache is discussed in L<mod_perl_api>.
  +Interfacing with Apache is discussed in L<accessing the Apache API via
  +mod_perl|faqs::mod_perl_api>.
   
   =head2 How secure are mod_perl scripts?
   
  @@ -290,7 +291,7 @@
   needed to be loaded when the server starts up.  Put a PerlRequire
   directive into one of the httpd config files that pulls in a small
   module containing the relevant C<use>-statements.  There is an example
  -of this in L<mod_perl_tuning>.
  +of this in L<mod_perl performance tuning|faqs::mod_perl_tuning>.
   
   =head2 How can I pass arguments to a SSI script?
   
  
  
  
  1.3       +5 -5      
modperl-docs/src/docs/1.0/faqs/mod_perl_method_handlers.pod
  
  Index: mod_perl_method_handlers.pod
  ===================================================================
  RCS file: 
/home/cvs/modperl-docs/src/docs/1.0/faqs/mod_perl_method_handlers.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- mod_perl_method_handlers.pod      5 Jan 2002 20:42:52 -0000       1.2
  +++ mod_perl_method_handlers.pod      27 Feb 2002 18:03:35 -0000      1.3
  @@ -7,8 +7,8 @@
   Described here are a few examples and hints how to use MethodHandlers
   with modperl.
   
  -This document assumes familiarity with at least L<perltoot> and
  -"normal" usage of the Perl*Handlers.
  +This document assumes familiarity with at least the I<perltoot>
  +manpage and "normal" usage of the Perl*Handlers.
   
   It isn't strictly modperl related, more like "what I use objects for
   in my modperl environment".
  @@ -59,7 +59,7 @@
   =head1 WHY?
   
   The short version: For pretty much the same reasons we're using OO
  -perl everywhere else. :-) See L<perltoot>.
  +perl everywhere else. :-) See the I<perltoot> manpage.
   
   The slightly longer version would include some about code reusage and
   more clean interface between modules.
  @@ -178,5 +178,5 @@
   
   =head1 SEE ALSO
   
  -L<mod_perl>, L<Apache>, L<perltoot> (also available at
  -C<http://www.perl.com/CPAN/doc/FMTEYEWTK/perltoot.html>)
  +The L<faqs::mod_perl>, the I<Apache>, the I<perltoot> manpages (also
  +available at C<http://www.perl.com/CPAN/doc/FMTEYEWTK/perltoot.html>)
  
  
  
  1.2       +7 -6      modperl-docs/src/docs/1.0/faqs/mod_perl_traps.pod
  
  Index: mod_perl_traps.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/faqs/mod_perl_traps.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- mod_perl_traps.pod        5 Jan 2002 19:20:01 -0000       1.1
  +++ mod_perl_traps.pod        27 Feb 2002 18:03:35 -0000      1.2
  @@ -25,7 +25,8 @@
   
   =item *
   
  -Be sure to have read L<cgi_to_mod_perl>
  +Be sure to have read L<First steps needed to use mod_perl as a CGI
  +replacement|faqs::cgi_to_mod_perl>.
   
   =item *
   
  @@ -124,11 +125,11 @@
   compiled into a unique package name (base on the uri).  So, if
   multiple scripts in the same process try to require the same file,
   which does not declare a package, only one script will actually be
  -able to see the subroutines.  The solution is to read L<perlmodlib>,
  -L<perlmod> and related perl documentation and re-work your required
  -file into a module which exports functions or defines a method
  -interface.  
  -Or something more simple, along these lines:
  +able to see the subroutines.  The solution is to read the
  +I<perlmodlib>, the I<perlmod> manpages and related perl documentation
  +and re-work your required file into a module which exports functions
  +or defines a method interface.  Or something more simple, along these
  +lines:
   
    #required_file.pl
    package Test;
  
  
  
  1.2       +0 -2      modperl-docs/src/docs/1.0/guide/advocacy.pod
  
  Index: advocacy.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/advocacy.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- advocacy.pod      6 Jan 2002 16:54:56 -0000       1.1
  +++ advocacy.pod      27 Feb 2002 18:03:36 -0000      1.2
  @@ -132,7 +132,5 @@
   
   =back
   
  -
  -
   =cut
   
  
  
  
  1.3       +1 -4      modperl-docs/src/docs/1.0/guide/browserbugs.pod
  
  Index: browserbugs.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/browserbugs.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- browserbugs.pod   4 Feb 2002 13:50:25 -0000       1.2
  +++ browserbugs.pod   27 Feb 2002 18:03:36 -0000      1.3
  @@ -19,7 +19,6 @@
   with query strings.  It is not a problem when the URL is the result 
   of submitting a form because the browsers I<have> to get that right.
   
  -
   =head1 IE 4.x does not re-post data to a non-port-80 URL
   
   One problem with publishing 8080 port numbers (or so I have been 
  @@ -27,9 +26,7 @@
   URL.  It drops the port designator and uses port 80 anyway.
   
   See L<Publishing Port Numbers other than
  -80|config/Publishing_Port_Numbers_other_than_80>.
  -
  -
  +80|guide::config/Publishing_Port_Numbers_other_than_80>.
   
   =cut
   
  
  
  
  1.3       +17 -193   modperl-docs/src/docs/1.0/guide/config.pod
  
  Index: config.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/config.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- config.pod        29 Jan 2002 15:43:13 -0000      1.2
  +++ config.pod        27 Feb 2002 18:03:36 -0000      1.3
  @@ -2,7 +2,6 @@
   
   mod_perl Configuration
   
  -
   =head1 Server Configuration
   
   The next step after building and installing your new mod_perl enabled
  @@ -28,8 +27,6 @@
   convenience, you could still do everything in I<httpd.conf> if you
   wished.
   
  -
  -
   =head1 Apache Configuration
   
   Apache configuration can be confusing.  To minimize the number of
  @@ -59,7 +56,6 @@
   Now you can test the server, for example by accessing http://localhost
   from a browser running on the same host.
   
  -
   =head2 Configuration Directives
   
   For a basic setup there are just a few things to configure.  If you
  @@ -89,7 +85,6 @@
   C<E<lt>LocationE<gt>> sections) which apply only to certain areas of your Web
   space.  As mentioned earlier you will find them all in I<httpd.conf>.
   
  -
   =head2  .htaccess files
   
   If there is a file with the name I<.htaccess> in any directory, Apache
  @@ -109,7 +104,6 @@
   directive in I<httpd.conf>, Apache will not try to look for
   I<.htaccess> at all.
   
  -
   =head2 E<lt>DirectoryE<gt>, E<lt>LocationE<gt> and E<lt>FilesE<gt> Sections
   
   I'll explain just the basics of the C<E<lt>DirectoryE<gt>>, 
C<E<lt>LocationE<gt>> and
  @@ -155,7 +149,6 @@
   it is not.  It is not always obvious which directive takes precedence
   in these cases.  This can be a trap for the unwary.
   
  -
   =over
   
   =item * E<lt>Directory directoryPathE<gt> ... E<lt>/DirectoryE<gt>
  @@ -210,8 +203,6 @@
   
   =back
   
  -
  -
   =item * C<E<lt>Files filenameE<gt>> ... C<E<lt>/FilesE<gt>>
   
   Can appear in server and virtual host configurations, and I<.htaccess>
  @@ -286,12 +277,8 @@
       allow from .example.com
     </Location>
   
  -
   =back
   
  -
  -
  -
   =head2 How Directory, Location and Files Sections are Merged
   
   When configuring the server, it's important to understand the order in
  @@ -315,7 +302,6 @@
   
   =back
   
  -
   Apart from C<E<lt>DirectoryE<gt>>, each group is processed in the
   order that it appears in the configuration files.
   C<E<lt>DirectoryE<gt>> (group 1 above) is processed in the order
  @@ -332,9 +318,6 @@
   
   Later sections override earlier ones.
   
  -
  -
  -
   =head2 Sub-Grouping of E<lt>LocationE<gt>, E<lt>DirectoryE<gt> and 
E<lt>FilesE<gt> Sections
   
   Let's say that you want all files, except for a few of the files in a
  @@ -358,9 +341,6 @@
   sections inside a C<E<lt>LocationE<gt>> section, but you can put them
   inside a C<E<lt>DirectoryE<gt>> section.
   
  -
  -
  -
   =head2 Options Directive
   
   Normally, if multiple C<Options> directives apply to a directory, then
  @@ -394,9 +374,6 @@
   then the options C<FollowSymLinks> and C<Includes> are set for the
   I</home/httpd/docs/shtml> directory.
   
  -
  -
  -
   =head1 mod_perl Configuration
   
   When you have tested that the Apache server works on your machine,
  @@ -425,7 +402,6 @@
   program can be executed (also at server startup time) simply by
   mentioning its name in a C<PerlRequire> or C<PerlModule> directive.
   
  -
   =head2 Alias Configurations
   
   The C<ScriptAlias> and C<Alias> directives provide a mapping of a URI
  @@ -462,7 +438,7 @@
   directive (for example C<PerlHandler>) tells mod_perl which handler
   (Perl module) the script should be run under, and hence for which
   phase of the request.  Refer to the section
  -L<Perl*Handlers|config/Perl_Handlers> for more information about
  +L<Perl*Handlers|guide::config/Perl_Handlers> for more information about
   handlers for the various request phases.
   
   When you have decided which methods to use to run your scripts and
  @@ -512,9 +488,7 @@
   mod_cgi mode from a mod_perl-enabled server--the resource consumption
   is too high. It is better to run these on a plain Apache server.  See
   L<Standalone mod_perl Enabled Apache
  -Server|strategy/Standalone_mod_perl_Enabled_Apac>.
  -
  -
  +Server|guide::strategy/Standalone_mod_perl_Enabled_Apac>.
   
   =head2 E<lt>LocationE<gt> Configuration
   
  @@ -618,7 +592,7 @@
   
   Here is another very similar example, this time using
   C<Apache::PerlRun> (For more information see
  -L<Apache::PerlRun|porting/Apache__PerlRun__a_closer_look>):
  +L<Apache::PerlRun|guide::porting/Apache__PerlRun__a_closer_look>):
   
     <Location /cgi-perl>
       SetHandler perl-script
  @@ -628,12 +602,10 @@
       PerlSendHeader On
     </Location>
   
  -
   The only difference from the C<Apache::Registry> configuration is the
   argument of the C<PerlHandler> directive, where C<Apache::Registry>
   has been replaced with C<Apache::PerlRun>.
   
  -
   =head2 Overriding E<lt>LocationE<gt> Setting in "Sub-Location"
   
   So if you have:
  @@ -654,8 +626,6 @@
   Now, all the requests starting with I</foo/bar> would be served by
   Apache's default handler.
   
  -
  -
   =head2 PerlModule and PerlRequire Directives
   
   As we saw earlier, a module should be loaded before it is used.
  @@ -681,11 +651,6 @@
   C<require()>'d, it must return a I<true> value.  To ensure that this
   happens don't forget to add C<1;> at the end of I<startup.pl>.
   
  -
  -
  -
  -
  -
   =head2 Perl*Handlers
   
   As you probably know Apache traverses a loop for each HTTP request it
  @@ -716,7 +681,7 @@
   I<Makefile.PL> file for its compilation, you must specify whether or
   not you will want to handle parts of the request loop other than the
   usual content generation phase.  If so you need to specify which
  -parts.  See the "L<Callback Hooks|install/Callback_Hooks>" section for
  +parts.  See the "L<Callback Hooks|guide::install/Callback_Hooks>" section for
   how to do this.
   
   Apache specifies about eleven phases of the request loop, namely (and
  @@ -766,7 +731,6 @@
       PerlDispatchHandler
       PerlRestartHandler
   
  -
   C<PerlChildInitHandler> and C<PerlChildExitHandler> do not refer to
   parts of the request loop, they are to allow your modules to
   initialize data structures and to clean up at the child process
  @@ -800,10 +764,9 @@
   
   The Apache documentation will tell you all about these stages and what
   your modules can do.  By default, most of these hooks are disabled at
  -compile time, see the"L<Callback Hooks|install/Callback_Hooks>"
  +compile time, see the"L<Callback Hooks|guide::install/Callback_Hooks>"
   section for information on enabling them.
   
  -
   =head2 The handler subroutine
   
   By default the mod_perl API expects a subroutine called C<handler()>
  @@ -853,12 +816,6 @@
         $r->warn("Logging request");
     }
   
  -
  -
  -
  -
  -
  -
   =head2 Stacked Handlers
   
   With the mod_perl stacked handlers mechanism, during any stage of a
  @@ -1016,17 +973,11 @@
   
     % perl Makefile.PL PERL_STACKED_HANDLERS=1 [ ... ]
   
  -
   If you want to test whether your running mod_perl Apache can stack
   handlers, the method C<Apache-E<gt>can_stack_handlers> will return
   C<TRUE> if mod_perl was configured with C<PERL_STACKED_HANDLERS=1>,
   and C<FALSE> otherwise.
   
  -
  -
  -
  -
  -
   =head2 Perl Method Handlers
   
   If a C<Perl*Handler> is prototyped with C<$$>, this handler will be
  @@ -1071,17 +1022,6 @@
   
    % perl Makefile.PL PERL_METHOD_HANDLERS=1 [ ... ]
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 PerlFreshRestart
   
   To reload C<PerlRequire>, C<PerlModule> and other C<use()>'d modules,
  @@ -1091,7 +1031,7 @@
     PerlFreshRestart On
   
   Make sure you read L<Evil things might happen when using
  -PerlFreshRestart|troubleshooting/Evil_things_might_happen_when_us>.
  +PerlFreshRestart|guide::troubleshooting/Evil_things_might_happen_when_us>.
   
   Starting from mod_perl version 1.22 C<PerlFreshRestart> is ignored
   when mod_perl is compiled as a DSO.  But it almost doesn't matter,
  @@ -1105,9 +1045,6 @@
   
   and mod_perl as a DSO you will still get a I<FreshRestart>.
   
  -
  -
  -
   =head2 PerlSetVar, PerlSetEnv and PerlPassEnv
   
     PerlSetEnv key val
  @@ -1120,7 +1057,7 @@
   Regarding the setting of C<PerlPassEnv PERL5LIB> in I<httpd.conf>: if
   you turn on taint checks (C<PerlTaintCheck On>), C<$ENV{PERL5LIB}>
   will be ignored (unset).  See the 'L<Switches -w,
  --T|porting/Command_Line_Switches_w_T_e>' section.
  +-T|guide::porting/Command_Line_Switches_w_T_e>' section.
   
   C<PerlSetVar> is very similar to C<PerlSetEnv>, but you extract it
   with another method.
  @@ -1180,23 +1117,14 @@
   C<$ENV{ORACLE_HOME}> (or another environment variable that you need in
   these early request processing stages).
   
  -
  -
   =head2 PerlSetupEnv
   
  -See L<PerlSetupEnv Off|performance/PerlSetupEnv_Off>.
  -
  -
  -
  -
  +See L<PerlSetupEnv Off|guide::performance/PerlSetupEnv_Off>.
   
   =head2 PerlWarn and PerlTaintCheck
   
   For B<PerlWarn> and B<PerlTaintCheck> directives see the 'L<Switches
  --w, -T|porting/Command_Line_Switches_w_T_e>' section.
  -
  -
  -
  +-w, -T|guide::porting/Command_Line_Switches_w_T_e>' section.
   
   =head2 MinSpareServers MaxSpareServers StartServers MaxClients 
MaxRequestsPerChild
   
  @@ -1216,13 +1144,9 @@
   These five directives are very important for achieving the best
   performance from your server. The section ' L<Performance Tuning by
   Tweaking Apache
  -Configuration|performance/Performance_Tuning_by_Tweaking_A>' provides
  +Configuration|guide::performance/Performance_Tuning_by_Tweaking_A>' provides
   all the details.
   
  -
  -
  -
  -
   =head1 The Startup File
   
   At server startup, before child processes are spawned to receive
  @@ -1386,13 +1310,7 @@
   But the old method is still available for backward compatibility.
   
   See also the 'L<Apache::Status -- Embedded interpreter status
  -information|debug/Apache_Status_Embedded_Inter>' section.
  -
  -
  -
  -
  -
  -
  +information|guide::debug/Apache_Status_Embedded_Inter>' section.
   
   =head2 What Modules You Should Add to the Startup File and Why
   
  @@ -1402,21 +1320,17 @@
   
   You can even preload your CGI script with C<Apache::RegistryLoader>
   (See L<Preload Perl modules at server
  -startup|performance/Preloading_Perl_Modules_at_Serve>) and you can get
  +startup|guide::performance/Preloading_Perl_Modules_at_Serve>) and you can get
   the children to preopen their database connections with
   C<Apache::DBI>.
   
  -
  -
  -
  -
   =head2 The Confusion with use() in the Server Startup File
   
   Some people wonder why you need to duplicate the C<use()> clause in
   the startup file and in the script itself. The confusion arises due to
   misunderstanding the C<use()> function. C<use()> normally performs two
   operations, namely C<require()> and C<import()>, called within a
  -C<BEGIN> block. See the section "L<use()|perl/use__>" for a detailed
  +C<BEGIN> block. See the section "L<use()|guide::perl/use__>" for a detailed
   explanation of the use(), require() and import() functions.
   
   In the startup file we don't want to import any symbols since they
  @@ -1478,14 +1392,6 @@
   Read the C<Exporter> and C<perlmod> manpages for more information
   about C<import()>.
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Apache Configuration in Perl
   
   With C<E<lt>PerlE<gt>>...C<E<lt>/PerlE<gt>> sections, it is possible
  @@ -1589,7 +1495,6 @@
     }
     </Perl>
   
  -
   Behind the scenes, mod_perl defines a package called
   C<Apache::ReadConfig>.  Here it keeps all the variables that you
   define inside the C<E<lt>PerlE<gt>> sections. Therefore it's not
  @@ -1619,15 +1524,11 @@
     ----------
     PerlRequire /home/httpd/perl/lib/apache_config.pl
   
  -
  -
  -
   =head2 Enabling
   
   To enable C<E<lt>PerlE<gt>> sections you should build mod_perl with
   S<perl Makefile.PL PERL_SECTIONS=1 [ ... ]>.
   
  -
   =head2 Caveats
   
   Be careful when you declare package names inside C<E<lt>PerlE<gt>>
  @@ -1659,8 +1560,6 @@
       $PerlTransHandler = "My::Trans";
     </Perl>
   
  -
  -
   =head2 Verifying
   
   This section shows how to check and dump the configuration you have
  @@ -1681,7 +1580,7 @@
   
   In a running httpd you can see how you have configured the
   C<E<lt>PerlE<gt>> sections through the URI
  
-L</perl-status|debug/Apache__Status____Embedded_Interpreter_Status_Information>,
 by choosing I<Perl
  
+L</perl-status|guide::debug/Apache__Status____Embedded_Interpreter_Status_Information>,
 by choosing I<Perl
   Section Configuration> from the menu. In order to make this item show
   up in the menu you should set C<$Apache::Server::SaveConfig> to a true
   value. When you do that the I<Apache::ReadConfig> namespace (in which
  @@ -1718,7 +1617,6 @@
   You can then C<require()> that file in some other C<E<lt>PerlE<gt>>
   section.
   
  -
   =head2 Strict C<E<lt>PerlE<gt>> Sections
   
   If the Perl code doesn't compile, the server won't start.  If the
  @@ -1736,11 +1634,10 @@
   and will C<croak> (die) if this is the case. At the time of writing the
   default value is C<0>.
   
  -
   =head2 Debugging
   
   If you compile mod_perl with C<PERL_TRACE=1> and set the environment
  -variable L<MOD_PERL_TRACE|debug/Debug_Tracing> then you should see
  +variable L<MOD_PERL_TRACE|guide::debug/Debug_Tracing> then you should see
   some useful diagnostics when mod_perl is processing C<E<lt>PerlE<gt>>
   sections.
   
  @@ -1751,8 +1648,6 @@
   
   META: a direct link?
   
  -
  -
   =head1 Validating the Configuration Syntax
   
   C<apachectl configtest> tests the configuration file without starting
  @@ -1784,13 +1679,6 @@
   
     return if Apache->define('syntax_check');
   
  -
  -
  -
  -
  -
  -
  -
   =head1 Enabling Remote Server Configuration Reports
   
   The nifty mod_info module displays the complete server configuration
  @@ -1809,9 +1697,6 @@
   
     http://www.example.com/server-info
   
  -
  -
  -
   =head1 Publishing Port Numbers other than 80
   
   If you are using a two-server setup, with a mod_perl server listening
  @@ -1832,12 +1717,6 @@
   closed, therefore users behind the firewalls will be unable to reach
   your service, running on the blocked port.
   
  -
  -
  -
  -
  -
  -
   =head1 Configuring Apache + mod_perl with mod_macro
   
   mod_macro is an Apache module written by Fabien Coelho that lets you
  @@ -1882,7 +1761,6 @@
     # example
     Use registry stuff stuff.pl
   
  -
   If you're using content handlers packaged as modules, you can use the
   following macro:
   
  @@ -1967,16 +1845,8 @@
   reader. These can be easily constructed based on the examples
   presented in this section.
   
  -
  -
  -
  -
  -
   =head1 General Pitfalls
   
  -
  -
  -
   =head2 My CGI/Perl Code Gets Returned as Plain Text Instead of Being 
Executed by the Webserver
   
   Check your configuration files and make sure that the C<ExecCGI> is
  @@ -1990,41 +1860,23 @@
       PerlSendHeader On
     </Location>
   
  -
  -
  -
  -
  -
   =head2 My Script Works under mod_cgi, but when Called via mod_perl I Get a 
'Save-As' Prompt
   
   Did you put B<PerlSendHeader On> in the configuration part of the
   C<E<lt>Location fooE<gt>E<lt>/LocationE<gt>>.
   
  -
  -
  -
  -
  -
   =head2 Is There a Way to Provide a Different startup.pl File for Each 
Individual Virtual Host
   
   No. Any virtual host will be able to see the routines from a I<startup.pl>
   loaded for any other virtual host.  
   
  -
  -
  -
  -
   =head2 Is There a Way to Modify @INC on a Per-Virtual-Host or Per-Location 
Basis.
   
   You can use C<PerlSetEnv PERL5LIB ...> or a C<PerlFixupHandler> with
   the C<lib> pragma (C<use lib qw(...)>).
   
   A better way is to use
  
-L<Apache::PerlVINC|modules/Apache__PerlVINC___Allows_Module_Versioning_in_Location_blocks_and_Virtual_Hosts>
  -
  -
  -
  -
  
+L<Apache::PerlVINC|guide::modules/Apache__PerlVINC___Allows_Module_Versioning_in_Location_blocks_and_Virtual_Hosts>
   
   =head2 A Script From One Virtual Host Calls a Script with the Same Path From 
the Other Virtual Host
   
  @@ -2044,12 +1896,6 @@
   
     $Apache::Registry::NameWithVirtualHost = 0;
   
  -
  -
  -
  -
  -
  -
   =head2 the Server no Longer Retrieves the DirectoryIndex Files for a 
Directory
   
   The problem was reported by users who declared mod_perl configuration
  @@ -2123,10 +1969,6 @@
   that last regex could be rewritten as C<^(/.+)$> and all would be
   well.
   
  -
  -
  -
  -
   =head1 Configuration Security Concerns
   
   It is better not to advertise the port that mod_perl server uses to
  @@ -2135,7 +1977,7 @@
   on.
   
   For more information see L<Publishing Port Numbers other than
  -80|config/Publishing_Port_Numbers_other_th>.
  +80|guide::config/Publishing_Port_Numbers_other_th>.
   
   The more modules you have in your web server, the more complex the
   code.
  @@ -2179,12 +2021,6 @@
   So as you see that a lot of information is revealed and a C<Full>
   C<ServerTokens> has been used.
   
  -
  -
  -
  -
  -
  -
   =head1 Apache Restarts Twice On Start
   
   When the server is restarted, the configuration and module
  @@ -2238,15 +2074,6 @@
   8001. In the mod_perl server just check the C<PORT> variable to tell
   if the connection is secure.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Adding Custom Configuration Directives 
   
   This is covered in the Eagle Book in a great detail. This is just a
  @@ -2277,8 +2104,6 @@
       'INC'       => Apache::src->new->inc,
     );
   
  -
  -
     TestDirective.pm
     ----------------
     package Apache::TestDirective;
  @@ -2300,7 +2125,6 @@
     
     1;
     __END__
  -
   
   In the mod_perl source tree, add this to I<t/docs/startup.pl>:
   
  
  
  
  1.3       +7 -65     modperl-docs/src/docs/1.0/guide/control.pod
  
  Index: control.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/control.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- control.pod       4 Feb 2002 13:50:25 -0000       1.2
  +++ control.pod       27 Feb 2002 18:03:36 -0000      1.3
  @@ -28,7 +28,7 @@
   children) processes.  You are looking for the parent process. If you
   run your server as root, you will easily locate it since it belongs to
   root. If you run the server as some other user (when you L<don't have
  -root access|install/Installation_Without_Superuser_P>, the processes
  +root access|guide::install/Installation_Without_Superuser_P>, the processes
   will belong to that user unless defined differently in I<httpd.conf>.
   It's still easy to find which is the parent--usually it's the process
   with the smallest PID.
  @@ -52,7 +52,6 @@
   be omitted and under some operating systems they will need to be preceded by
   a minus sign, e.g. C<kill -15> or C<kill -TERM> followed by the PID.
   
  -
   =head1 Server Stopping and Restarting
   
   We will concentrate here on the implications of sending C<TERM>,
  @@ -99,7 +98,6 @@
   happens when Perl code loaded in memory is not completely torn down,
   leading to a memory leak.
   
  -
   =item USR1 Signal: Gracefully Restart Now
   
   The C<USR1> signal causes the parent process to advise the children to
  @@ -126,8 +124,7 @@
     PerlFreshRestart On
   
   Make sure you read L<Evil things might happen when using
  -PerlFreshRestart|troubleshooting/Evil_things_might_happen_when_us>.
  -
  +PerlFreshRestart|guide::troubleshooting/Evil_things_might_happen_when_us>.
   
   =head1 Speeding up the Apache Termination and Restart
   
  @@ -161,9 +158,6 @@
   lock on some resource are significant operations, but closing an
   ordinary file isn't.
   
  -
  -
  -
   =head1 Using apachectl to Control the Server
   
   The Apache distribution comes with a script to control the server.
  @@ -204,11 +198,6 @@
   delete the PID file by hand while the server is running, C<apachectl>
   will be unable to stop or restart the server.
   
  -
  -
  -
  -
  -
   =head1 Safe Code Updates on a Live Production Server
   
   You have prepared a new version of code, uploaded it into a production
  @@ -304,9 +293,6 @@
   Usually everything will be fine, and I have had only about 10 seconds
   of downtime, which is pretty good!
   
  -
  -
  -
   =head1 An Intentional Disabling of Live Scripts
   
   What happens if you really must take down the server or disable the
  @@ -318,7 +304,7 @@
   happened> message or perhaps a customized error message if you have
   added code to trap and customize the errors.  See L<Redirecting Errors
   to the Client instead of to the
  -error_log|snippets/Redirecting_Errors_to_the_Client> for the latter
  +error_log|guide::snippets/Redirecting_Errors_to_the_Client> for the latter
   case.
   
   A much friendlier approach is to confess to your users that you are
  @@ -423,14 +409,6 @@
   If you need to disable a location handled by some module, the second
   approach would work just as well.
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 SUID Start-up Scripts
   
   If you want to allow a few people in your team to start and stop the
  @@ -519,7 +497,6 @@
   users to start the server as root user, the rest is exactly the same
   as if you were executing the script as root in first place.
   
  -
   =head2 Sample Apache Startup SUID Script
   
   Now if you are still with us, here is an example of the setuid Apache
  @@ -581,11 +558,6 @@
     
     die "Script must be named start_httpd, stop_httpd, or restart_httpd.\n";
   
  -
  -
  -
  -
  -
   =head1 Preparing for Machine Reboot
   
   When you run your own development box, it's okay to start the
  @@ -763,10 +735,6 @@
   I</etc/rc.d/init.d> is what matters and not the name of the script the
   link points to.
   
  -
  -
  -
  -
   =head1 Monitoring the Server.  A watchdog.
   
   With mod_perl many things can happen to your server.  It is possible
  @@ -938,16 +906,12 @@
       close MAIL;
     } 
   
  -
  -
  -
  -
   =head1 Running a Server in Single Process Mode
   
   Often while developing new code, you will want to run the server in
   single process mode.  See L<Sometimes it works Sometimes it does
  -Not|porting/Sometimes_it_Works_Sometimes_it> and L<Names collisions
  -with Modules and libs|porting/Name_collisions_with_Modules_and>.
  +Not|guide::porting/Sometimes_it_Works_Sometimes_it> and L<Names collisions
  +with Modules and libs|guide::porting/Name_collisions_with_Modules_and>.
   Running in single process mode inhibits the server from "daemonizing",
   and this allows you to run it under the control of a debugger more
   easily.
  @@ -978,12 +942,6 @@
   forking any children, there is no controlling parent to write the
   status messages.
   
  -
  -
  -
  -
  -
  -
   =head1 Starting a Personal Server for Each Developer
   
   If you are the only developer working on the specific server:port you
  @@ -1130,12 +1088,8 @@
   bypass the light server listening to the default port 80, and go
   directly to the I<server:port> of the full URI.
   
  -
  -
  -
   =head1 Wrapper to Emulate the Server Perl Environment
   
  -
   Often you will start off debugging your script by running it from your
   favorite shell program.  Sometimes you encounter a very weird
   situation when the script runs from the shell but dies when processed
  @@ -1235,8 +1189,6 @@
       # Note that we set Warning and Taint modes ON!!!
     system qq{/usr/bin/perl -I$PERL5LIB -Tw $cgi $params};
   
  -
  -
   =head1 Server Maintenance Chores
   
   It's not enough to have your server and service up and running.  You
  @@ -1257,8 +1209,6 @@
   aren't covered here, but at least you will be alerted that these
   chores are real and should be taken care of.
   
  -
  -
   =head2 Handling Log Files
   
   There are two issues to solve with log files. First they should be
  @@ -1422,8 +1372,6 @@
   Can you spot the security holes? Take your time...  This code
   shouldn't be used in hostile situations.
   
  -
  -
   =head3 Non-Scheduled Emergency Log Rotation
   
   As we have mentioned before, there are times when the web server goes
  @@ -1482,8 +1430,6 @@
   will work very slowly if at all, and a normal watchdog should detect
   this abnormal situation and restart the Apache server.
   
  -
  -
   =head1 Swapping Prevention
   
   Before I delve into swapping process details, let's refresh our
  @@ -1621,7 +1567,7 @@
   of possible processes will be small enough using the C<MaxClients>
   directive (For the technique for choosing the right C<MaxClients>
   refer to the section 'L<Choosing
  -MaxClients|performance/Choosing_MaxClients>'). This will ensure that 
  +MaxClients|guide::performance/Choosing_MaxClients>'). This will ensure that 
   at peak hours the system won't swap. Remember that swap space is an
   emergency pool, not a resource to be used routinely.  If you are low
   on memory and you badly need it, buy it or reduce the number of
  @@ -1637,9 +1583,7 @@
   
   For swapping monitoring techniques see the section 'L<Apache::VMonitor
   -- Visual System and Apache Server
  -Monitor|debug/Apache_VMonitor_Visual_Syste>'.
  -
  -
  +Monitor|guide::debug/Apache_VMonitor_Visual_Syste>'.
   
   =head1 Preventing mod_perl Processes From Going Wild
   
  @@ -1666,10 +1610,8 @@
   do the latter.  Putting it in all your mod_perl modules would be
   redundant (and might give you compile-time errors).
   
  -
   This will produce a nice error in I<error_log>, giving the line number
   of the call and the name of the undefined subroutine.
  -
   
   =cut
   
  
  
  
  1.3       +6 -14     modperl-docs/src/docs/1.0/guide/correct_headers.pod
  
  Index: correct_headers.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/correct_headers.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- correct_headers.pod       4 Feb 2002 13:50:25 -0000       1.2
  +++ correct_headers.pod       27 Feb 2002 18:03:36 -0000      1.3
  @@ -37,16 +37,16 @@
   
   If the number of hits is significant, you might want to consider what
   cache-friendliness means (you may also want to read
  -L<[4]|correct_headers/_4_>) and how you can cooperate with caches to
  +L<[4]|guide::correct_headers/_4_>) and how you can cooperate with caches to
   increase the performance of your site.  Especially if you use Squid in
   accelerator mode (helpful hints for Squid, see
  -L<[1]|correct_headers/_1_>), you will have a strong motivation to
  +L<[1]|guide::correct_headers/_1_>), you will have a strong motivation to
   cooperate with it.  This document may help you to do it correctly.
   
   =head1 2) Which Headers
   
  -The HTTP standard (v 1.1 is specified in L<[3]|correct_headers/_3_>, v
  -1.0 in L<[2]|correct_headers/_2_>) describes lots of headers.  In this
  +The HTTP standard (v 1.1 is specified in L<[3]|guide::correct_headers/_3_>, v
  +1.0 in L<[2]|guide::correct_headers/_2_>) describes lots of headers.  In this
   document, we only discuss those headers which are most relevant to
   caching.
   
  @@ -118,7 +118,7 @@
     use Date::Parse;
     # Date::Parse parses RCS format, Apache::Util::parsedate doesn't
     $Mtime ||=
  -    Date::Parse::str2time(substr q$Date: 2002/02/04 13:50:25 $, 6);
  +    Date::Parse::str2time(substr q$Date: 2002/02/27 18:03:36 $, 6);
     $r->set_last_modified($Mtime);
   
   =head2 2.1.3) Expires and Cache-Control
  @@ -199,7 +199,6 @@
   problem that remains is that there are broken browsers which ignore
   C<Expires> headers.
   
  -
   =head2 2.2) Content Related Headers
   
   =head2 2.2.1) Content-Type
  @@ -215,7 +214,6 @@
   is specified in the relevant C<DefaultType> configuration directive or
   C<text/plain> if none is active.
   
  -
   =head2 2.2.2) Content-Length
   
   According to section 14.13 of the HTTP specifications, the
  @@ -385,7 +383,6 @@
   workaround, you won't enjoy your Squid accelerator for these documents
   :-(
   
  -
   =head1 3) Requests
   
   Section 13.11 of the specifications states that the only two cacheable
  @@ -506,7 +503,6 @@
   
     http://example.com/query;BGCOLOR=blue;FGCOLOR=red;FONT=/font/bla
   
  -
   =head2 3.4) Conditional GET
   
   A rather challenging request mod_perl programmers can get is the
  @@ -530,7 +526,7 @@
   value of this method is anything other than C<OK>, you should return
   that value from your handler and you're done.  Apache handles the rest
   for you.  The following example is taken from
  -L<[5]|correct_headers/_5_>:
  +L<[5]|guide::correct_headers/_5_>:
   
     if((my $rc = $r->meets_conditions) != OK) {
        return $rc;
  @@ -570,7 +566,6 @@
   would use the out of date C<finfo> when generating the response
   header.
   
  -
   =head1 References
   
   =head2 [1]
  @@ -622,10 +617,7 @@
   
   =item *
   
  -
   =back
  -
  -
   
   =cut
   
  
  
  
  1.3       +2 -19     modperl-docs/src/docs/1.0/guide/databases.pod
  
  Index: databases.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/databases.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- databases.pod     4 Feb 2002 13:50:25 -0000       1.2
  +++ databases.pod     27 Feb 2002 18:03:36 -0000      1.3
  @@ -34,7 +34,6 @@
   It's almost as straightforward as is it sounds; there are just a few
   things to know about and we will cover them in this section.
   
  -
   =head2 Introduction
   
   The DBI module can make use of the C<Apache::DBI> module.  When it
  @@ -156,12 +155,11 @@
   connection won't be closed either.
   
   See the section L<Handling the 'User pressed Stop button'
  -case|debug/Handling_the__User_pressed_Stop_button__case>
  +case|guide::debug/Handling_the__User_pressed_Stop_button__case>
   for more information on prevention.
   
   =head2 Troubleshooting
   
  -
   =head3 The Morning Bug
   
   The SQL server keeps a connection to the client open for a limited
  @@ -204,7 +202,6 @@
   it from the cache. So always initiate connections using the same
   parameters and set C<LongReadLen> (or whatever) afterwards.
   
  -
   =head3 Cannot find the DBI handler
   
   You must use C<DBI::connect()> as in normal DBI usage to get your $dbh
  @@ -215,7 +212,6 @@
   return your cached connection. Any C<disconnect()> call will be just
   ignored.
   
  -
   =head3 Apache:DBI does not work
   
   Make sure you have it installed.
  @@ -236,7 +232,6 @@
   and adapt the connect string.  Do not change anything in your scripts
   for use with C<Apache::DBI>.
   
  -
   =head3 Skipping connection cache during server startup
   
   Does your error_log look like this?
  @@ -258,8 +253,6 @@
   You must use the C<Apache::DBI-E<gt>connect_on_init()> method in the
   startup file.
   
  -
  -
   =head3 Debugging code which deploys DBI
   
   To log a trace of C<DBI> statement execution, you must set the
  @@ -310,7 +303,6 @@
   
   =back
   
  -
   =head1 mysql_use_result vs. mysql_store_result.
   
   Since many mod_perl developers use mysql as their preferred SQL
  @@ -344,7 +336,6 @@
   This can tie up the server and prevent other threads from updating the
   tables.
   
  -
   =head1 Optimize: Run Two SQL Engine Servers
   
   Sometimes you end up running many databases on the same machine. These
  @@ -358,10 +349,9 @@
   performance needs.
   
   This is basically a similar idea to having L<two Apache
  -servers|strategy/One_Plain_Apache_and_One_mod_perl_enabled_Apache_Servers>,
  
+servers|guide::strategy/One_Plain_Apache_and_One_mod_perl_enabled_Apache_Servers>,
   each optimized for its specific requirements.
   
  -
   =head1 Some useful code snippets to be used with relational Databases
   
   In this section you will find scripts, modules and code snippets to
  @@ -389,7 +379,6 @@
   
   (Note that you will not find this on CPAN. at least not yet :)
   
  -
   =head2 My::DB Module's Usage Examples
   
   To use C<My::DB> in your script, you first have to create a C<My::DB>
  @@ -419,7 +408,6 @@
       $total++;
     }
   
  -
   Now let's count how many users we have (in table C<users>):
   
     my $count = $db_obj->sql_count_matched("users");
  @@ -449,7 +437,6 @@
       return "Current status: Is Online and idle for $idle minutes.";
     }
   
  -
   A complex query. I join two tables, and I want a reference to an array
   which will store a slice of the matched query (C<LIMIT $offset,$hits>)
   sorted by C<username>. Each row in the array is to include the fields
  @@ -552,9 +539,5 @@
     # Now %matched includes the usernames of the users who are being
     # watched by $username and currently are online.
   
  -
   =cut
  -
  -
  -
   
  
  
  
  1.4       +3 -13     modperl-docs/src/docs/1.0/guide/dbm.pod
  
  Index: dbm.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/dbm.pod,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- dbm.pod   4 Feb 2002 14:16:49 -0000       1.3
  +++ dbm.pod   27 Feb 2002 18:03:36 -0000      1.4
  @@ -2,8 +2,6 @@
   
   mod_perl and dbm files
   
  -
  -
   =head1 Where and Why to use dbm files
   
   Some of the earliest databases implemented on Unix were dbm files, and
  @@ -207,7 +205,7 @@
   
   The result is a starving process, which will timeout the request, and
   it will fail to update the DB.  Ken Williams solved the above problem
  -with his L<C<Tie::DB_Lock>|dbm/mod_perl_and_dbm> module, which is
  +with his L<C<Tie::DB_Lock>|guide::dbm/mod_perl_and_dbm> module, which is
   discussed in one of the following sections.
   
   There are several locking wrappers for C<DB_File> in CPAN right now.
  @@ -215,7 +213,6 @@
   mind.  It is therefore worth knowing the difference, so that you can
   pick the right one for your application.
   
  -
   =head1 Flawed Locking Methods Which Must Not Be Used
   
   I<Caution>: The suggested locking methods in the Camel book and
  @@ -307,9 +304,6 @@
   file before tie()-ing it, untie() it before releasing the lock, and
   in the case of write to call sync() before untie()-ing it.
   
  -
  -
  -
   =head1 Locking Wrappers Overview
   
   Here are some of the correctly working dbm locking wrappers on (three
  @@ -326,7 +320,7 @@
   wrapper in situations where reads may be very lengthy and therefore
   write starvation problem may occur. On the other hand if you have big
   dbm files, it may create a big load on the system if the updates are
  -quite frequent.  L<More information|dbm/mod_perl_and_dbm>.
  +quite frequent.  L<More information|guide::dbm/mod_perl_and_dbm>.
   
   =item *
   
  @@ -350,7 +344,7 @@
   
   =item *
   
  -L<C<DB_File::Lock2>|dbm/mod_perl_and_dbm> -- does the same thing as
  +L<C<DB_File::Lock2>|guide::dbm/mod_perl_and_dbm> -- does the same thing as
   C<DB_File::Lock>, but has a slightly different implementation.  I
   wrote it before David Harris released his C<DB_File::Lock> and I
   didn't want to kill mine, so I'll keep it here for a while :).
  @@ -368,7 +362,6 @@
   
   =back
   
  -
   =head1 Tie::DB_Lock
   
   C<Tie::DB_Lock> ties hashes to databases using shared and exclusive
  @@ -391,9 +384,6 @@
   copied, and puts the responsibility of copying the read-only file on
   the writer, not the reader.  It would need some care to make sure it
   does not disturb readers when putting a new read-only copy into place.
  -
  -
  -
   
   =head1 DB_File::Lock2
   
  
  
  
  1.3       +15 -238   modperl-docs/src/docs/1.0/guide/debug.pod
  
  Index: debug.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/debug.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- debug.pod 21 Feb 2002 09:08:38 -0000      1.2
  +++ debug.pod 27 Feb 2002 18:03:36 -0000      1.3
  @@ -2,7 +2,6 @@
   
   Debugging mod_perl
   
  -
   =head1 Warning and Errors Explained
   
   Let's talk first about things that bother most web (and non-web)
  @@ -11,8 +10,6 @@
   turning this obvious to the newbie programmer enemies into our best
   friends.
   
  -
  -
   =head2 Curing The "Internal Server Error"
   
   You have just installed this new CGI script and when you try it out
  @@ -234,14 +231,6 @@
   
   Second problem solved!
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 Helping error_log to Help Us
   
   It's a good idea to keep it open all the time in a dedicated terminal
  @@ -281,10 +270,7 @@
   of colored output for easier reading).  You might need to ask your ISP
   to install this script for general use. See L<Watching the error_log
   file without telneting to the
  -server|snippets/Watching_the_error_log_File_With> .
  -
  -
  -
  +server|guide::snippets/Watching_the_error_log_File_With> .
   
   =head2 The Importance of Warnings
   
  @@ -383,18 +369,6 @@
   The C<diagnostics> pragma can shed more light on errors and warnings,
   as you will see in a moment.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head3 diagnostics pragma
   
   This module extends the terse diagnostics normally emitted by both the
  @@ -422,14 +396,7 @@
   C<diagnostics> mode adds a large performance overhead in comparison
   with just having warnings mode On.  You can see the benchmark results
   in the section 'L<Code Profiling
  -Techniques|performance/Code_Profiling_Techniques>'.
  -
  -
  -
  -
  -
  -
  -
  +Techniques|guide::performance/Code_Profiling_Techniques>'.
   
   =head1 Handling the 'User pressed Stop button' case
   
  @@ -491,8 +458,6 @@
     127.0.0.1 - - [09/Jan/2001:10:28:18 +0100] 
     "GET /perl/test.pl HTTP/1.0"              200 10 -
   
  -
  -
   =head2 Detecting Aborted Connections
   
   Let's use the knowledge we have acquired to trace the execution of the
  @@ -660,7 +625,6 @@
   reopen with the open() call, which first closes a file.  Let's see
   what problems we might encounter, and possible solutions for them.
   
  -
   =head3 Critical Section
   
   First we want to make a little detour to discuss the I<"critical
  @@ -854,7 +818,6 @@
   creating a new array and copying lines from one array to another, we
   append the file directly to the C<@lines> array.
   
  -
   =head3 Safe Resource Locking and Cleanup Code
   
   Let's get back to the main issue of this section, which is safe
  @@ -1103,14 +1066,10 @@
   
   C<Apache::MyModule::cleanup()> performs the cleanup, obviously.
   
  -
  -
  -
  -
   =head1 Handling Server Timeout Cases and Working with $SIG{ALRM}
   
   A similar situation to L<Pressed Stop button
  -disease|debug/Handling_the_User_pressed_Stop_> happens when the
  +disease|guide::debug/Handling_the_User_pressed_Stop_> happens when the
   browser times out the connection (is it about 2 minutes?).  There are
   cases when your script is about to perform a very long operation and
   there is a chance that its duration will be longer than the client's
  @@ -1131,19 +1090,12 @@
   
   It was recently discovered that C<local $SIG{'ALRM'}> does not restore
   the original underlying C handler.  This was fixed in mod_perl 1.19_01
  -(L<CVS version|download/mod_perl>).  As a matter of fact none of the
  +(L<CVS version|guide::download/mod_perl>).  As a matter of fact none of the
   C<local $SIG{FOO}> signals restores the original C handler - read
   L<Debugging Signal Handlers
  -($SIG{FOO})|debug/Debugging_Signal_Handlers_SIG_> for a debug
  +($SIG{FOO})|guide::debug/Debugging_Signal_Handlers_SIG_> for a debug
   technique and a possible workaround.
   
  -
  -
  -
  -
  -
  -
  -
   =head1 Looking inside the server
   
   Your server is up and running, but something appears to be wrong.  You
  @@ -1188,7 +1140,7 @@
   If you don't put C<Apache::Status> before C<Apache::DBI>, you won't
   get the C<Apache::DBI> menu entry in the status.  For more about
   C<Apache::DBI> see L<Persistent DB
  -Connections|performance/Persistent_DB_Connections>.
  +Connections|guide::performance/Persistent_DB_Connections>.
   
   =head3 Extended Configuration
   
  @@ -1269,7 +1221,6 @@
   
   There is more information about C<Apache::Status> in its manpage.
   
  -
   =head3 Usage
   
   Assuming that your mod_perl server listens on port 81, fetch
  @@ -1310,7 +1261,6 @@
   child has not yet compiled the script you are asking for,
   I</perl-status> will just show you the main menu.
   
  -
   =head2 mod_status
   
   The Status module allows a server administrator to find out how well
  @@ -1344,7 +1294,6 @@
   the page http://localhost/status (as long as your server recognizes
   localhost:).
   
  -
   The details given by mod_status are:
   
   =over
  @@ -1371,30 +1320,15 @@
   
   =back
   
  -
  -
   =head2 Apache::VMonitor -- Visual System and Apache Server Monitor
   
   This module is covered in the section "L<Apache::* 
  -Modules|modules/Apache_VMonitor_Visual_Syste>"
  -
  -
  -
  -
  -
  -
  -
  +Modules|guide::modules/Apache_VMonitor_Visual_Syste>"
   
   =head1 Sometimes My Script Works, Sometimes It Does Not
   
   See L<Sometimes it Works Sometimes it does
  -Not|porting/Sometimes_it_Works_Sometimes_it>
  -
  -
  -
  -
  -
  -
  +Not|guide::porting/Sometimes_it_Works_Sometimes_it>
   
   =head1 Code Debug
   
  @@ -1449,14 +1383,10 @@
   itself (mod_perl is written in C), that was in a deep slumber before
   your code awakened it.
   
  -
   In the following sections we will go through in detail each of the
   problems presented, thoroughly discuss them and present a few
   techniques to solve them.
   
  -
  -
  -
   =head2 Locating and correcting Syntax Errors
   
   While developing code we often make syntax mistakes, like forgetting
  @@ -1560,12 +1490,6 @@
   
     You are OK www.foo.com
   
  -
  -
  -
  -
  -
  -
   =head2 Finding the Line Which Triggered the Error or Warning
   
   Perl has no problem with the line numbers and file names for modules
  @@ -1629,7 +1553,6 @@
     use Carp ();
     local $SIG{__WARN__} = \&Carp::cluck;
   
  -
   =head2 Using print() for Debugging
   
   The universal debugging tool across nearly all platforms and
  @@ -1791,8 +1714,6 @@
       my ($day,$month,$year) = (localtime)[3..5];
       $month++;
   
  -
  -
   =head2 Using print() and Data::Dumper for Debugging
   
   Sometimes you need to peek into complex data structures, and trying to
  @@ -1828,7 +1749,6 @@
                          ]
             };
   
  -
   While writing this example I made a mistake and wrote C<qw(a b c d)>
   instead of C<[qw(a b c d)]>.  When I pretty-printed the contents of
   C<$data> I immediately saw my mistake:
  @@ -1854,7 +1774,6 @@
   instead of print to have all the debug messages in the error_log,
   which makes it even easier to debug your code.
   
  -
   =head2 The Importance of a Good Concise Coding Style
   
   Don't strive for elegant, clever code.  Try to develop a good coding
  @@ -1964,7 +1883,6 @@
   as fast as the first), but because there are more ways to put a bug in
   the first version than there are in the last one.
   
  -
   =head2 Introduction to the Perl Debugger
   
   As we saw earlier, it's I<almost> always possible to debug code with
  @@ -2163,7 +2081,6 @@
     
     print "$sym\n";
   
  -
     % perl -d test.pl 
     
     main::(test.pl:3):      my $sym = Symbol::gensym();
  @@ -2282,7 +2199,6 @@
       return $retval;
     }
   
  -
   We'll start by setting a few breakpoints and then we use the C<List>
   command (C<L>) to display them:
   
  @@ -2475,7 +2391,6 @@
       return $retval;
     }
   
  -
   There are only two arguments in the list, so stopping to look at each
   one isn't too time consuming, but consider the debugging pace if we
   had a large list of 100 or so entries.  It is possible to customize
  @@ -2586,16 +2501,10 @@
   ptkdb is not part of the standard perl distribution; it
   is available from CPAN: http://www.perl.com/CPAN/authors/id/A/AE/AEPAGE/ 
   
  -
  -
  -
  -
  -
   =head2 Non-Interactive Perl Debugging under mod_perl
   
  -
   To debug scripts running under mod_perl either use L<Apache::DB
  -(interactive Perl debugging)|debug/Interactive_mod_perl_Debugging> or
  +(interactive Perl debugging)|guide::debug/Interactive_mod_perl_Debugging> or
   an older non-interactive method as described below.
   
   The C<NonStop> debugger option enables you to get some decent debugging
  @@ -2767,18 +2676,6 @@
   debugger for various situations.  Once you have a good strategy, bug
   squashing can actually be quite a bit of fun!
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 ptkdb and Interactive mod_perl Debugging
   
   As you saw earlier you can use the C<ptkdb> visual debugger to
  @@ -2822,11 +2719,6 @@
   
   Any Perl/Tk guru to assist???
   
  -
  -
  -
  -
  -
   =head2 Debugging when Server Crashes on Startup before Writing to Log File.
   
   If your server crashes on startup, you need to start it under gdb and
  @@ -2922,8 +2814,6 @@
   
     #0  0x400da4e1 in __kill () from /lib/libc.so.6
   
  -
  -
   =head1 Hanging Processes: Detection and Diagnostics
   
   Sometimes a httpd process might hang in the middle of processing a
  @@ -2934,9 +2824,6 @@
   (detection), so we can reproduce the problem and after that to
   discover why there is problem (diagnostics).
   
  -
  -
  -
   =head2 Hanging because of the OS Problem
   
   Sometimes you can find a process hanging because of some kind of the
  @@ -2956,8 +2843,6 @@
   resource it was waiting on.  It might point the way to what component
   of the system was misbehaving if the problem occurred frequently.
   
  -
  -
   =head2 An Example of Code that Might Hang a Process
   
   Deadlock is the situation where, for example, two processes, say X and
  @@ -3051,7 +2936,6 @@
     }
     close LOCK;
   
  -
   It's very easy to see I<WRITE> process starvation if you spawn a few
   of the above scripts simultaneously.  Start the first few as I<READ>
   processes and then start one I<WRITE> process like this:
  @@ -3091,10 +2975,6 @@
   until the lock is gained.  Only when a write to a client's broken
   connection is attempted will Apache terminate the script.
   
  -
  -
  -
  -
   =head2 Detecting hanging processes
   
   It's not so easy to detect hanging processes.  There is no way you can
  @@ -3137,7 +3017,7 @@
   
   But if you have fifty processes, it can be quite hard to spot such a
   process.  L<Apache::Watchdog::RunAway is a hanging processes monitor
  -and terminator|modules/Apache_Watchdog_RunAway_Hang> that implements
  +and terminator|guide::modules/Apache_Watchdog_RunAway_Hang> that implements
   this feature and should be used to solve this kind of problem.
   
   If you've got a real problem, and the processes hang one after the
  @@ -3148,7 +3028,7 @@
   resolve it and notify the administrator using a simple crontab
   watchdog that requests some very light script periodically.  (See
   L<Monitoring the Server. A
  -watchdog.|control/Monitoring_the_Server_A_watchdo>)
  +watchdog.|guide::control/Monitoring_the_Server_A_watchdo>)
   
   In the watchdog you set a timeout appropriate for your service, which
   may be anything from a few seconds to a few minutes.  If the server
  @@ -3165,9 +3045,6 @@
   more servers or more memory, or perhaps split your single machine
   across a cluster of machines.
   
  -
  -
  -
   =head2 Determination of the reason
   
   Given the process id (PID), there are three ways to find out where the
  @@ -3196,7 +3073,6 @@
   
   =back
   
  -
   =head3 Using the Perl Trace
   
   To see where an httpd is "spinning", try adding this to your script or
  @@ -3212,7 +3088,7 @@
   other parts of the server.
   
   We check the registered signal handlers with help of
  
-L<Apache::Status|debug/Apache__Status____Embedded_Interpreter_Status_Information>.
  What we see at
  
+L<Apache::Status|guide::debug/Apache__Status____Embedded_Interpreter_Status_Information>.
  What we see at
   http://localhost/perl-status?sig is :
   
     USR2 = \&MyStartUp::__ANON__
  @@ -3265,9 +3141,6 @@
   line 5 of the I</home/httpd/perl/debug/perl_trace.pl> script, and it
   was called by the hanging_sub() routine defined at line 4.
   
  -
  -
  -
   =head3 Using the System Calls Trace
   
   Depending on the operating system you should have one of the
  @@ -3536,8 +3409,6 @@
   META: add the note about using the 'curinfo' gdb macro to perform an
   easy detecting of the hanging location.
   
  -
  -
   =head1 Debugging Hanging processes (continued)
   
   META: incomplete
  @@ -3590,26 +3461,15 @@
   
   to produce a Perl stacktrace.
   
  -
  -
  -
   =head2 Debugging core Dumping Code
   
  -
  -
          $ perl -e dump
           Abort(coredump)
   
  -
   META: should I move the C<Apache::StatINC> here? (I think not, since it
   relates to other topics like reloading config files, but you should
   mention it here with a pointer to it)
   
  -
  -
  -
  -
  -
   =head1 PERL_DEBUG=1 Build Option
   
   Building mod_perl with C<PERL_DEBUG=1>:
  @@ -3638,14 +3498,6 @@
   
   =back
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Apache::Debug
   
   (META: to be written)
  @@ -3664,21 +3516,6 @@
    $SIG{__DIE__} = \&Carp::confess;
    eval { Carp::confess("init") };
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Debug Tracing
   
   To enable mod_perl debug tracing, configure mod_perl with the
  @@ -3735,14 +3572,6 @@
     % setenv MOD_PERL_TRACE all
     % httpd -X
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 gdb says there are no debugging symbols
   
   During I<make install> Apache strips all the debugging symbols. To
  @@ -3769,16 +3598,6 @@
   I<Makefile.tmpl> do it directly in I<Makefile>). Alternatively you
   rerun C<make> and copy the unstripped httpd binary away.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Debugging Signal Handlers ($SIG{FOO})
   
   The current Perl implementation does not restore the original Apache C
  @@ -3803,7 +3622,7 @@
   C<Sys::Signal> module, which solves the problem:
   
   C<Sys::Signal> - Set signal handlers with restoration of the existing
  -C sighandler.  Get it from L<CPAN|download/Perl>.
  +C sighandler.  Get it from L<CPAN|guide::download/Perl>.
   
   The usage is simple.  If the original code was:
   
  @@ -3817,7 +3636,6 @@
     };
     die $@ if $@;
   
  -
   Now you would write:
   
     use Sys::Signal ();
  @@ -3839,12 +3657,6 @@
   
     static char *sigsave[] = { "ALRM", NULL };
   
  -
  -
  -
  -
  -
  -
   =head1 Code Profiling
   
   (Meta: duplication??? I've started to write about profiling somewhere
  @@ -3867,14 +3679,6 @@
   
   See also: C<Apache::DProf>
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Devel::Peek
   
   Devel::Peek - A data debugging tool for the XS programmer
  @@ -3933,12 +3737,6 @@
   Note: Previously allocating a scalar in this
   way saves reallocation in v5.005 but may not do so in other versions.
   
  -
  -
  -
  -
  -
  -
   =head1 How can I find out if a mod_perl code has a memory leak
   
   The C<Apache::Leak> module (derived from C<Devel::Leak>) should help
  @@ -4002,13 +3800,6 @@
   C<Apache::Status> includes a C<StatusLexInfo> option which can show
   you the internals of your code.
   
  -
  -
  -
  -
  -
  -
  -
   =head1 Debugging your code in Single Server Mode
   
   Running in httpd -X mode is good only for testing during the
  @@ -4088,9 +3879,6 @@
   any children, there is no controlling parent to write the status
   messages.
   
  -
  -
  -
   =head1 Apache::DumpHeaders - Watch HTTP Transaction Via Headers
   
   This module is used to watch an HTTP transaction, looking at client
  @@ -4106,16 +3894,13 @@
   
   For more information read the module's manpage.
   
  -Download the module from L<CPAN|download/CPAN_Downloads>.
  -
  -
  -
  +Download the module from L<CPAN|guide::download/CPAN_Downloads>.
   
   =head1 Apache::DebugInfo - Log Various Bits Of Per-Request Data
   
   C<Apache::DebugInfo> offers the ability to monitor various bits of
   per-request data.  Its functionality is similar to
  -L<Apache::DumpHeaders|debug/Debugging_mod_perl_>
  +L<Apache::DumpHeaders|guide::debug/Debugging_mod_perl_>
   while offering several additional features, including the ability to:
   
   =over
  @@ -4137,13 +3922,5 @@
   =back
   
   See the module's manpage for more details.
  -
  -
  -
  -
  -
  -
  -
  -
   
   =cut
  
  
  
  1.2       +0 -9      modperl-docs/src/docs/1.0/guide/download.pod
  
  Index: download.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/download.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- download.pod      6 Jan 2002 16:54:56 -0000       1.1
  +++ download.pod      27 Feb 2002 18:03:36 -0000      1.2
  @@ -30,7 +30,6 @@
   C<Apache::DumpHeaders>, you can type:
   http://search.cpan.org/search?dist=Apache-DumpHeaders .
   
  -
   =head1 Apache
   
   Get the latest Apache webserver and documentation from
  @@ -50,7 +49,6 @@
   from http://perl.apache.org/snapshots/modperl/, all the mod_perl
   related projects are available from http://perl.apache.org/snapshots/.
   
  -
   RPM: http://perl.apache.org/rpm/
   
   Debian users will find Perl, Apache and mod_perl are available 
  @@ -82,7 +80,6 @@
   http://www.cpan.org/authors/id/ABH/mod_proxy_add_forward.c, complete
   with instructions on how to compile it and whatnot.
   
  -
   =head1 httperf -- webserver Benchmarking tool
   
   http://www.hpl.hp.com/personal/David_Mosberger/httperf.html
  @@ -100,7 +97,6 @@
   should be available from the mod_backhand CVS tree:
   http://www.backhand.org/mod_backhand/
   
  -
   =head1 High-Availability and Load Balancing Projects
   
   =head2 mod_backhand -- Load Balancing for Apache
  @@ -120,7 +116,6 @@
   
   The homepage of mod_redundancy is http://www.ask-the-guru.com .
   
  -
   =head2 High-Availability Linux Project
   
   You will find the definitive guide to load balancing techniques 
  @@ -155,8 +150,6 @@
   ipnat. That may be a simple solution for a few specific load problem.
   http://coombs.anu.edu.au/~avalon/ipf3.4beta3.tgz
   
  -
  -
   =head1 Apache::Request
   
   The package name is I<libapreq>.
  @@ -180,7 +173,5 @@
   
   http://home-of-linux.org/gnome/libgtop/
   
  -
   =cut
  -
   
  
  
  
  1.3       +3 -7      modperl-docs/src/docs/1.0/guide/frequent.pod
  
  Index: frequent.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/frequent.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- frequent.pod      4 Feb 2002 13:50:25 -0000       1.2
  +++ frequent.pod      27 Feb 2002 18:03:36 -0000      1.3
  @@ -7,21 +7,17 @@
   Some problems come up very often on the mailing list.  If there is
   some important problem that is being reported frequently on the list
   which is not included below, even if it is found elsewhere in the Guide,
  -please L<tell me|help/Contacting_me>.
  -
  +please L<tell me|guide::help/Contacting_me>.
   
   =head1 my() scoped variable in nested subroutines
   
   See the section "L<my() Scoped Variable in Nested 
  -Subroutines|perl/my___Scoped_Variable_in_Nested_Subroutines>".
  -
  -
  +Subroutines|guide::perl/my___Scoped_Variable_in_Nested_Subroutines>".
   
   =head1 Segfaults caused by PerlFreshRestart
   
   See the section L<Evil things might happen when using
  
-PerlFreshRestart|troubleshooting/Evil_things_might_happen_when_using_PerlFreshRestart>
  -
  
+PerlFreshRestart|guide::troubleshooting/Evil_things_might_happen_when_using_PerlFreshRestart>
   
   =cut
   
  
  
  
  1.2       +2 -16     modperl-docs/src/docs/1.0/guide/hardware.pod
  
  Index: hardware.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/hardware.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- hardware.pod      6 Jan 2002 16:54:56 -0000       1.1
  +++ hardware.pod      27 Feb 2002 18:03:36 -0000      1.2
  @@ -121,7 +121,6 @@
   Also remember that the less money you spend on OS and Software, the
   more you will be able to spend on faster and stronger hardware.
   
  -
   =head2 Discontinued Products
   
   The OSs in this hazard group tend to be developed by a single company
  @@ -167,7 +166,6 @@
   can always have a go yourself, but do not under-estimate the amounts
   of work involved.  There are many, many man-years of work in an OS.
   
  -
   =head2 OS Releases
   
   Actively developed OSs generally try to keep pace with the latest
  @@ -185,13 +183,6 @@
   almost the same functionality for much less money if you were to buy
   an older model of the same product.
   
  -
  -
  -
  -
  -
  -
  -
   =head1 Choosing Hardware
   
   Sometimes the most expensive machine is not the one which provides the
  @@ -212,7 +203,6 @@
   (or an upgrade) and keep your service running - the main server will
   simply not dispatch the requests to the machine that was taken down.
   
  -
   =item *
   
   Load balancing - users are given the name of one of your machines but
  @@ -225,7 +215,7 @@
   clustering too.
   
   There are many load balancing techniques. (See L<High-Availability
  -Linux Project|download/High_Availability_Linux_Project> for more info.)
  +Linux Project|guide::download/High_Availability_Linux_Project> for more 
info.)
   
   =item *
   
  @@ -283,7 +273,6 @@
   
   Wisdom and prophecy, that's all it takes :)
   
  -
   =head3 Single Strong Machine vs Many Weaker Machines
   
   Let's start with a claim that a four years old processor is still very
  @@ -356,7 +345,6 @@
     a busy internet site you always have some slow clients.  This is a
     difficult thing to simulate in benchmark testing, though.
   
  -
   =head2 I/O Performance
   
   If your service is I/O bound (does a lot of read/write operations to
  @@ -407,7 +395,7 @@
   serve one.  Now you can calculate how many server processes you need.
   If you know the maximum size your servers can grow to, you know how
   much memory you need.  If your OS supports L<memory
  -sharing|hardware/Sharing_Memory>, you can make best use of this
  +sharing|guide::hardware/Sharing_Memory>, you can make best use of this
   feature by preloading the modules and scripts at server startup, and
   so you will need less memory than you have calculated.
   
  @@ -483,6 +471,4 @@
   hardware will likewise be forced to adapt as well.
   
   =cut
  -
  -
   
  
  
  
  1.3       +2 -90     modperl-docs/src/docs/1.0/guide/help.pod
  
  Index: help.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/help.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- help.pod  4 Feb 2002 13:50:25 -0000       1.2
  +++ help.pod  27 Feb 2002 18:03:36 -0000      1.3
  @@ -17,19 +17,14 @@
   help and you should I<RTFM> before you call for I<HELP>.  (Remember the
   fable of the shepherd boy and the wolves).
   
  -For more information See L<Get helped with 
mod_perl|help/Get_help_with_mod_perl>.
  -
  -
  -
  -
  -
  +For more information See L<Get helped with 
mod_perl|guide::help/Get_help_with_mod_perl>.
   
   =head1 Contacting me
   
   Hi, I wrote this document to help people with mod_perl.  It does not
   mean that if you have any question regarding mod_perl, perl or
   whatever you think I might know, you should send it directly to me.
  -Please see the L<Get help with mod_perl|help/Get_help_with_mod_perl>
  +Please see the L<Get help with mod_perl|guide::help/Get_help_with_mod_perl>
   section and follow the guidelines described there.
   
   However, you are welcome to submit corrections and suggestions
  @@ -46,8 +41,6 @@
   ask questions on the mod_perl list and if we can answer your question,
   one (or more) of us will answer it on the list.  Thank you!>
   
  -
  -
   =head2 How to Report Problems
   
   Always send these details:
  @@ -145,7 +138,6 @@
   
     % perl -V:archlibexp
   
  -
   =item Spinning Processes
   
   The gdb attaching to the live process approach is helpful when
  @@ -178,11 +170,6 @@
   
   Finally send all these details to the modperl mailing list.
   
  -
  -
  -
  -
  -
   =head1 Get help with mod_perl
   
   =over
  @@ -216,7 +203,6 @@
     1-56592-567-X, Order Number: 567X
     746 pages, $34.95
   
  -
   =item * The mod_perl Developer's Cookbook
   
   Home site: http://www.modperlcookbook.org
  @@ -230,7 +216,6 @@
     Price: $39.99
     Pages: 600
   
  -
   =item * Managing and Programming mod_perl
   
   http://www.modperlbook.com is the home site of the new mod_perl book,
  @@ -252,8 +237,6 @@
   See also Andrew's collection of reference card for Apache and other
   programs: http://www.refcards.com.
   
  -
  -
   =back
   
   =item * mod_perl Guide
  @@ -280,7 +263,6 @@
   
   at http://perl.apache.org/dist/mod_perl_traps.html .
   
  -
   =item * Articles
   
   =over
  @@ -296,7 +278,6 @@
   
   =back
   
  -
   =item * mod_perl mailing lists
   
   =over
  @@ -393,8 +374,6 @@
   
   http://www.apachelabs.org/test-dev/
   
  -
  -
   =item * The advocacy mailing list
   
   The list for mod_perl advocacy issues, discussions about
  @@ -406,7 +385,6 @@
   
   The archive: http://www.mail-archive.com/advocacy@perl.apache.org/.
   
  -
   =item * The modperl-cvs mailing list
   
   The modperl developers list is the list where you can watch mod_perl
  @@ -421,23 +399,10 @@
   
   No archives available.
   
  -
  -
   =back
   
  -
   =back
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Get help with Perl
   
   =over
  @@ -525,20 +490,8 @@
   List's archive is available at
   http://www.xray.mpe.mpg.de/mailing-lists/perl5-porters/.
   
  -
   =back
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Get help with Perl/CGI
   
   =over
  @@ -570,17 +523,8 @@
   
     subscribe cgi-list
   
  -
   =back
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Get help with Apache 
   
   =over
  @@ -626,23 +570,12 @@
   Installing and Securing the Apache Webserver with SSL
   http://www.securityfocus.com/infocus/1356
   
  -
   =item * mod_throttle_access
   
   mod_throttle_access is available at http://www.fremen.org/apache/
   
  -
   =back
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Get help with DBI and SQL
   
   =over
  @@ -677,13 +610,6 @@
   
   =back
   
  -
  -
  -
  -
  -
  -
  -
   =head1 Get help with Squid - Internet Object Cache
   
   =over 4
  @@ -706,15 +632,10 @@
   
   =back
   
  -
  -
  -
  -
   =head1 Get help with CVS -- Concurrent Version Control
   
   =over
   
  -
   =item *
   
   mod_perl repository specific doc: mod_perl_cvs.pod, located in the
  @@ -751,10 +672,8 @@
   Introduction to CVS
   http://www.sourcegear.com/CVS/Docs/blandy
   
  -
   =back
   
  -
   =head1 Get help with Performance and Scalability
   
   =over
  @@ -783,8 +702,6 @@
   
   =back
   
  -
  -
   =head1 Get help with Unix OS flavors -- Unix OS related resources
   
   =over
  @@ -796,11 +713,6 @@
   
   =item * 
   
  -
   =back
  -
  -
  -
  -
   
   =cut
  
  
  
  1.4       +11 -235   modperl-docs/src/docs/1.0/guide/install.pod
  
  Index: install.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/install.pod,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- install.pod       5 Feb 2002 02:51:36 -0000       1.3
  +++ install.pod       27 Feb 2002 18:03:36 -0000      1.4
  @@ -204,8 +204,6 @@
   describing different installation passes, once the overview of the
   four building steps is completed.
   
  -
  -
   =head3 Configuration parameters
   
   The command C<perl Makefile.PL>, which is also known as a
  @@ -281,8 +279,6 @@
   mod_perl will be installed.  Note that, C<make test> won't work until
   you have built the server.
   
  -
  -
   =head4 Callback Hooks
   
   A callback hook (abbrev. I<callback>) is a reference to a
  @@ -331,21 +327,15 @@
   
     ALL_HOOKS=1
   
  -
   =head4 EVERYTHING
   
   To enable everything set:
   
     EVERYTHING=1
   
  -
  -
   =head4 PERL_TRACE
   
  -To enable L<debug tracing|debug/Debug_Tracing> set: C<PERL_TRACE=1>
  -
  -
  -
  +To enable L<debug tracing|guide::debug/Debug_Tracing> set: C<PERL_TRACE=1>
   
   =head4 APACHE_HEADER_INSTALL
   
  @@ -360,8 +350,6 @@
   
     APACHE_HEADER_INSTALL=0
   
  -
  -
   =head4 PERL_STATIC_EXTS
   
   Normally, if an extension is statically linked with Perl it is listed in
  @@ -373,7 +361,6 @@
   
    perl Makefile.PL "PERL_STATIC_EXTS=Something::Static Another::One" 
   
  -
   =head4 APACI_ARGS
   
   When you use the C<USE_APACI=1> parameter, you can tell C<Makefile.PL>
  @@ -396,8 +383,6 @@
   stripping the backslashes.  This causes all the arguments except the
   first to be ignored by the configuration process.
   
  -
  -
   =head4 APACHE_PREFIX
   
   Alternatively to:
  @@ -438,7 +423,6 @@
   in the I<httpd.conf> used for S<'make test'> stage. (Introduced in
   mod_perl v1.23.)
   
  -
   =head3 Reusing Configuration Parameters
   
   When you have to upgrade the server, it's quite hard to remember what
  @@ -492,13 +476,6 @@
   C<apache_x.x.x/config.status> and the mod_perl parameters in
   C<mod_perl_x.xx/apaci/mod_perl.config>.
   
  -
  -
  -
  -
  -
  -
  -
   =head3 Discovering Whether Some Option Was Configured
   
   mod_perl version 1.25 has introduced C<Apache::Myconfig>, which
  @@ -545,7 +522,6 @@
   use the feature in question. If it wasn't configured Apache will give
   an error message
   
  -
   =head3 Using an Alternative Configuration File
   
   By default mod_perl provides its own copy of the I<Configuration> file
  @@ -557,10 +533,8 @@
   Where I<Configuration.custom> is the pathname of the file I<relative
   to the Apache source tree you build against>.
   
  -
   =head3  perl Makefile.PL Troubleshooting
   
  -
   =head4 "A test compilation with your Makefile configuration failed..."
   
   When you see this during the C<perl Makefile.PL> stage:
  @@ -582,7 +556,7 @@
   installed.
   
   The most frequent pitfall is a missing gdbm library.  See L<Missing or
  -Misconfigured libgdbm.so|install/Missing_or_Misconfigured_libgdbm_so>
  +Misconfigured libgdbm.so|guide::install/Missing_or_Misconfigured_libgdbm_so>
   for more info.
   
   But why guess, when we can actually see the real error message and
  @@ -598,9 +572,6 @@
   
   and try again.  Now you should get a useful error message.
   
  -
  -
  -
   =head4 Missing or Misconfigured libgdbm.so
   
   On some Linux RedHat systems you might encounter a problem during the
  @@ -654,7 +625,6 @@
   numbers. We didn't use the usual I<xx.xx> version replacement here, to
   make it easier to understand how the symbolic links should be set.
   
  -
   =head4 About gdbm, db and ndbm libraries
   
   Both the gdbm and db libraries offer ndbm emulation, which is the
  @@ -667,8 +637,6 @@
   have trouble copying the dbm file from one system to another or even
   using it after an upgrade.
   
  -
  -
   =head4 Undefined reference to `PL_perl_destruct_level'
   
   When manually building mod_perl using the shared library:
  @@ -703,7 +671,6 @@
   shared I<libperl.a>.  Build a dynamically linked Perl (with
   I<libperl.a>) and the problem will disappear.
   
  -
   =head2 mod_perl Building (make)
   
   After completing the configuration you build the server, by calling:
  @@ -718,11 +685,8 @@
   Note: don't put the mod_perl directory inside the Apache
   directory. This confuses the build process.
   
  -
  -
   =head3 make Troubleshooting
   
  -
   =head4 Undefined reference to 'Perl_newAV'
   
   This and similar error messages may show up during the C<make>
  @@ -732,7 +696,6 @@
   another properly built binary package.  Run C<perl -V> to learn what
   version of Perl you are using and other important details.
   
  -
   =head4 Unrecognized format specifier for...
   
   This error usually reported due to the problems with some versions of
  @@ -740,7 +703,6 @@
   problem. Or if you don't really need SFIO, rebuild Perl without this
   library.
   
  -
   =head2 Built Server Testing (make test)
   
   After building the server, it's a good idea to test it thoroughly, by
  @@ -784,8 +746,6 @@
   I</dev/null>) so you'll have to change these by hand.  The tests are
   run with the C<SSLDisable> directive.
   
  -
  -
   =head3 Manual Testing
   
   Tests are invoked by running the C<./TEST> script located in the
  @@ -802,7 +762,6 @@
   for some reason it fails to start, use C<make start_httpd> to start it
   manually.
   
  -
   =head3 make test Troubleshooting
   
   =head4 make test fails
  @@ -833,7 +792,6 @@
   
   instead.
   
  -
   =head4 make test......skipping test on this platform
   
   While doing C<make test> you will notice that some of the tests are
  @@ -878,11 +836,6 @@
   Also make sure that you have the loopback device [lo] configured.
   [Hint: try 'ifconfig lo' to test for its existence.]
   
  -
  -
  -
  -
  -
   =head2 Installation (make install)
   
   After testing the server, the last step left is to install it.  First
  @@ -899,10 +852,6 @@
   Now the installation should be considered complete.  You may now
   configure your server and start using it.
   
  -
  -
  -
  -
   =head2 Building Apache and mod_perl by Hand
   
   If you wish to build httpd separately from mod_perl, you should use
  @@ -933,7 +882,7 @@
     AddModule modules/perl/libperl.a
   
   We suggest you add this entry at the end of the I<Configuration> file
  -if you want your L<callback hooks|install/Callback_Hooks> to have
  +if you want your L<callback hooks|guide::install/Callback_Hooks> to have
   precedence over core handlers.
   
   Add the following to C<EXTRA_LIBS>:
  @@ -973,19 +922,11 @@
     % make
     % make install
   
  -
  -
  -
  -
  -
   =head1 Installation Scenarios for Standalone mod_perl
   
   There are various ways available to build Apache with the new hybrid
   build environment (using C<USE_APACI=1>):
   
  -
  -
  -
   =head2 The All-In-One Way
   
   If your goal is just to build and install Apache with mod_perl out of
  @@ -1005,10 +946,6 @@
   default C</usr/local/apache> tree and mod_perl into the C<site_perl>
   hierarchy of your existing Perl installation.  All in one step.
   
  -
  -
  -
  -
   =head2 The Flexible Way
   
   This is the normal situation where you want to be flexible while
  @@ -1172,8 +1109,6 @@
   dynamically load and insert mod_perl into httpd) are automatically
   added to I<httpd.conf>.
   
  -
  -
   =head2 Build mod_perl as a DSO outside the Apache Source Tree via APXS
   
   Above we've seen how to build mod_perl as a DSO I<inside> the Apache
  @@ -1199,13 +1134,6 @@
   tree with the new Apache 1.3 support tool C<apxs> and install it into
   the existing Apache hierarchy.
   
  -
  -
  -
  -
  -
  -
  -
   =head1 Installation Scenarios for mod_perl and Other Components
   
   ([ReaderMETA]: Please send more scenarios of mod_perl + other
  @@ -1267,8 +1195,6 @@
   default location.  When you run C<make install> the installation
   program tells you where it's going to install the files.
   
  -
  -
   =head2 mod_perl and mod_ssl (+openssl)
   
   mod_ssl provides strong cryptography for the Apache 1.3 webserver via
  @@ -1327,8 +1253,6 @@
     mod_perl/1.21_01-dev mod_ssl/2.4.8 OpenSSL/0.9.4 configured
     -- resuming normal operations
   
  -
  -
   =head2 mod_perl and mod_ssl Rolled from RPMs
   
   As in the previous section this shows an installation of mod_perl and
  @@ -1464,9 +1388,6 @@
   
     % httpd -DSSL
   
  -
  -
  -
   =head2 mod_perl and apache-ssl (+openssl)
   
   Apache-SSL is a secure Webserver, based on Apache and SSLeay/OpenSSL.
  @@ -1521,11 +1442,6 @@
   Now proceed with configuration of the apache_ssl and mod_perl parts of
   the server configuration files, before starting the server.
   
  -
  -
  -
  -
  -
   =head2 mod_perl and Stronghold
   
   Stronghold is a secure SSL Web server for Unix which allows you to
  @@ -1578,13 +1494,6 @@
   
     Rule WANTHSREGEX=no
   
  -
  -
  -
  -
  -
  -
  -
   =head2 mod_perl and mod_php
   
   This is a simple installation scenario of the mod_perl and mod_php in
  @@ -1776,14 +1685,6 @@
   
   and after answering a few questions, go out for a coffee.
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Installing on multiple machines
   
   You may wish to build httpd once, then copy it to other machines.  The
  @@ -1834,24 +1735,11 @@
   ([ReaderMETA]: Dear reader, Can you please share a step by step scenario of
   preparation of SRPMs for mod_perl? Thanks!!!)
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 using RPM and other packages to install mod_perl
   
   [ReaderMETA]: Currently only RPM package.  Please submit info about
   other available packages if you use such.
   
  -
  -
   =head2 A word on mod_perl RPM packages
   
   The virtues of RPM packages is a subject of much debate among mod_perl
  @@ -1908,7 +1796,6 @@
   mod_perl RPM (or vice versa).  Sticking with one format or the other
   at first will result in fewer headaches and more hair.
   
  -
   =head2 Installing a single apache+mod_perl RPM
   
   If you use an Apache+mod_perl RPM, chances are C<rpm -i> or C<glint>
  @@ -1986,16 +1873,9 @@
   
     /usr/sbin/modperl-enable off
   
  -
  -
  -
  -
  -
  -
  -
   =head2 Compiling libapreq (Apache::Request) with the RH 6.0 mod_perl RPM
   
  -Libapreq provides the L<Apache::Request|download/Apache__Request>
  +Libapreq provides the L<Apache::Request|guide::download/Apache__Request>
   module.
   
   Despite many reports of libapreq not working properly with various RPM
  @@ -2099,7 +1979,6 @@
   Apply this patch to libapreq:
   http://www.davideous.com/modperlrpm/distrib/libapreq-0.31_include.patch
   
  -
   =item 4
   
   Follow the libapreq directions as usual:
  @@ -2109,7 +1988,6 @@
   
   =back
   
  -
   =head2 Installing separate Apache and mod_perl RPMs
   
   If you are trying to install separate Apache and mod_perl RPMs, like
  @@ -2118,7 +1996,7 @@
   http://localhost will bring up some type of web page for you.
   However, after installation of the mod_perl RPM, the L<How can I tell
   whether mod_perl is
  -running|install/How_can_I_tell_whether_mod_perl_is_running_> test will
  +running|guide::install/How_can_I_tell_whether_mod_perl_is_running_> test will
   show that Apache is not mod_perl enabled.  This is because mod_perl
   needs to be added as a separate module using Apache's Dynamic Shared
   Objects.
  @@ -2126,7 +2004,6 @@
   To use mod_perl as a DSO, make the following modifications to your
   Apache configuration files:
   
  -
     httpd.conf:
     ----------
     LoadModule perl_module modules/libperl.so
  @@ -2144,19 +2021,11 @@
   After a complete shutdown and startup of the server, mod_perl should
   be up and running.
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 Testing the mod_perl API
   
   Some people have reported that even when the server responds
   positively to the L<How can I tell whether mod_perl is
  -running|install/How_can_I_tell_whether_mod_perl_is_running_> tests,
  +running|guide::install/How_can_I_tell_whether_mod_perl_is_running_> tests,
   the mod_perl API will not function properly.  You may want to run the
   following script to verify the availability of the mod_perl API.
   
  @@ -2165,9 +2034,6 @@
     $r->send_http_header('text/html');
     $r->print("It worked!!!\n");
   
  -
  -
  -
   =head1 Installation Without Superuser Privileges
   
   As you have already learned, mod_perl enabled Apache consists of two
  @@ -2177,7 +2043,6 @@
   I'll show a complete installation example using I<stas> as a username,
   assuming that I</home/stas> is the home directory of that user.
   
  -
   =head2 Installing Perl Modules into a Directory of Choice
   
   Since without superuser permissions you aren't allowed to install
  @@ -2241,7 +2106,6 @@
     Writing /home/stas/lib/perl5/auto/CGI/.packlist
     Appending installation info to /home/stas/lib/perl5/perllocal.pod
   
  -
   If you have to use the explicit target parameters, instead of a single
   C<PREFIX> parameter, you will find it useful to create a file called
   for example I<~/.perl_dirs> (where I<~> is C</home/stas> in our
  @@ -2273,18 +2137,6 @@
   
     % perl Makefile.PL `cat ~/.perl_dirs.develop`
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 Making Your Scripts Find the Locally Installed Modules
   
   Perl modules are generally placed in four main directories.  To find
  @@ -2461,17 +2313,6 @@
   variable and the explicit C<@INC> extension code at the beginning of
   the scripts as described above.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 The CPAN.pm Shell and Locally Installed Modules
   
   As we saw in the section describing the usage of the C<CPAN.pm> shell
  @@ -2565,19 +2406,6 @@
   If you arrange all the above parameters in one line, you can remove
   the backslashes (C<\>).
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 Making a Local Apache Installation
   
   Just like with Perl modules, if you don't have permissions to install
  @@ -2627,17 +2455,6 @@
   group you belong to.  You must set the C<User> and C<Group> directives
   in I<httpd.conf> to appropriate values.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 Manual Local mod_perl Enabled Apache Installation
   
   Now when we have learned how to install local Apache and Perl modules
  @@ -2705,8 +2522,7 @@
   performs script compilation.  As a result, C<@INC> will be reset to its
   original value after the scripts are compiled and the hard-coded
   settings will be forgotten.  See the section 'L<@INC and
  -mod_perl|porting/_INC_and_mod_perl>' for more information.
  -
  +mod_perl|guide::porting/_INC_and_mod_perl>' for more information.
   
   The only place you can alter the "original" value is during the server
   configuration stage either in the startup file or by putting
  @@ -2734,7 +2550,7 @@
   =item *
   
   Reduce resources usage (see L<Limiting the size of the
  -processes|performance/Limiting_the_Size_of_the_Processes>).
  +processes|guide::performance/Limiting_the_Size_of_the_Processes>).
   
   =item *
   
  @@ -2756,16 +2572,6 @@
   
   =back
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 Local mod_perl Enabled Apache Installation with CPAN.pm
   
   Again, CPAN makes installation and upgrades simpler.  You have seen
  @@ -2827,7 +2633,6 @@
   
     cpan> o conf makepl_arg.save PREFIX=/home/stas
   
  -
   Second, set a new value, to be used by the mod_perl installation
   process.  (You can add parameters to this line, or remove them,
   according to your needs.)
  @@ -2853,10 +2658,6 @@
   on a piece of paper instead of saving it to C<makepl_arg.save>, but
   you are more likely to make a mistake that way.
   
  -
  -
  -
  -
   =head1 Automating installation
   
   =over
  @@ -2882,15 +2683,6 @@
   
   =back
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 How can I tell whether mod_perl is running?
   
   There are a few ways. In older versions of apache ( < 1.3.6 ?) you
  @@ -2899,7 +2691,6 @@
   it installed, you have to configure it for mod_perl and restart the
   server too.
   
  -
   =head2 Checking the error_log
   
   When starting the server, just check the C<error_log> file for the
  @@ -2952,7 +2743,7 @@
   However, just because you have got mod_perl linked in there, that does
   not mean that you have configured your server to handle Perl scripts
   with mod_perl.  You will find configuration assistance at
  -L<ModPerlConfiguration|config/>
  +L<ModPerlConfiguration|guide::config/>
   
   =head2 Testing via a CGI script
   
  @@ -3025,9 +2816,9 @@
   takes care of overriding the C<exit()> call for you, so it's not an
   issue.  For reasons and implementations see: L<Terminating requests
   and processes, exit()
  
-function|porting/Terminating_requests_and_processes__the_exit___and_child_terminate___functions>
  
+function|guide::porting/Terminating_requests_and_processes__the_exit___and_child_terminate___functions>
   and also L<Writing Mod Perl scripts and Porting plain CGIs to
  -it|porting/>.
  +it|guide::porting/>.
   
   =head2 Testing via lwp-request
   
  @@ -3072,7 +2863,6 @@
   C<@INC> in the startup script, but it is better to build afresh to
   save you getting into a mess.
   
  -
   =head2 Perl installation requirements
   
   Make sure you have Perl installed!  The latest stable version if
  @@ -3085,8 +2875,6 @@
   
     Do you wish to use dynamic loading? [y]
   
  -
  -
   =head2 mod_auth_dbm nuances
   
   If you are a C<mod_auth_dbm> or C<mod_auth_db> user you may need to
  @@ -3128,8 +2916,6 @@
   
   Rebuild libgdbm before Apache/mod_perl.  
   
  -
  -
   =head2 Stripping Apache to make it almost a Perl-server
   
   Since most of the functionality that various apache mod_* modules
  @@ -3140,7 +2926,6 @@
   Perl-server, with C code to handle the tricky HTTP bits.  The only
   module you will need to leave in is C<mod_actions>.
   
  -
   =head2 Saving the config.status Files with mod_perl, php, ssl and Other 
Components
   
   Typically, when building the bloated Apache that sits behind Squid or
  @@ -3179,9 +2964,6 @@
   Hint: Take a look at the I<Config.pm> module or the output of C<perl
   -V>.
   
  -
  -
  -
   =head1 OS Related Notes
   
   =over 3
  @@ -3206,9 +2988,6 @@
   
   =back
   
  -
  -
  -
   =head1 Pros and Cons of Building mod_perl as DSO
   
   On modern Unix derivatives there is a nifty mechanism usually called
  @@ -3254,7 +3033,6 @@
   -i> command followed by an S<apachectl restart> to bring a new version
   of your currently developed module into the running Apache server.
   
  -
   =back
   
   Cons:
  @@ -3307,8 +3085,6 @@
   Configuration file or on the configure command line.
   
   =back
  -
  -
   
   =cut
   
  
  
  
  1.4       +3 -6      modperl-docs/src/docs/1.0/guide/intro.pod
  
  Index: intro.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/intro.pod,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- intro.pod 4 Feb 2002 14:16:49 -0000       1.3
  +++ intro.pod 27 Feb 2002 18:03:36 -0000      1.4
  @@ -43,7 +43,6 @@
   http://perl.apache.org/tidbits.html and
   http://perl.apache.org/stories/ for the facts.)
   
  -
   =head2 mod_cgi
   
   When you run your CGI scripts by using a configuration like this:
  @@ -168,13 +167,13 @@
   writing and porting existing Perl scripts to run under mod_perl. Note
   that it does not attempt to enter the big world of using the Perl API
   or C API.  You will find pointers to coverage of these topics in the
  -L<Getting Help and Further Learning|help/> section of this
  +L<Getting Help and Further Learning|guide::help/> section of this
   document. This guide tries to cover the most of the
   C<Apache::Registry> and C<Apache::PerlRun> modules. Along with
   mod_perl related topics, there are many more issues related to
   administering Apache servers, debugging scripts, using databases,
   mod_perl related Perl, code snippets and more. The L<Guide's
  -Overview|start/> will help you to find your way through the guide.
  +Overview|guide::start/> will help you to find your way through the guide.
   
   It is assumed that you know at least the basics of building and
   installing Perl and Apache. (If you do not, just read the INSTALL documents
  @@ -184,7 +183,7 @@
   mod_perl installation and get the server running in a short time.
   
   If after reading this guide and the other documents listed in
  -L<Getting Help and Further Learning|help/> you feel that your
  +L<Getting Help and Further Learning|guide::help/> you feel that your
   questions remain unanswered, you could try asking the apache/mod_perl
   mailing list to help you.  But first try to browse the mailing list
   archive (located at http://mathforum.org/epigone/modperl ). Often you
  @@ -339,9 +338,7 @@
   
   Apache/1.3.9 (Unix) mod_perl/1.16
   
  -
   =back
  -
   
   =head1 References and Acknowledgments
   
  
  
  
  1.2       +8 -66     modperl-docs/src/docs/1.0/guide/modules.pod
  
  Index: modules.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/modules.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- modules.pod       6 Jan 2002 16:54:56 -0000       1.1
  +++ modules.pod       27 Feb 2002 18:03:36 -0000      1.2
  @@ -88,20 +88,10 @@
   session tracking abilities.  C<HTML::Embperl> hooks into
   C<Apache::Session> for you.
   
  -
  -
  -
  -
  -
  -
  -
   =head1 Apache::DBI - Initiate a persistent database connection
   
   See L<mod_perl and relational
  -Databases|databases/Apache_DBI_Initiate_a_persist>
  -
  -
  -
  +Databases|guide::databases/Apache_DBI_Initiate_a_persist>
   
   =head1 Apache::Watchdog::RunAway - Hanging Processes Monitor and Terminator
   
  @@ -122,15 +112,10 @@
   Refer to the C<Apache::Watchdog::RunAway> manpage for the
   configuration details.
   
  -
  -
  -
  -
  -
   =head1 Apache::VMonitor -- Visual System and Apache Server Monitor
   
   C<Apache::VMonitor> is the next generation of
  -L<mod_status|debug/mod_status>. It provides all the information
  +L<mod_status|guide::debug/mod_status>. It provides all the information
   mod_status provides and much more.
   
   This module emulates the reporting functions of the top(), mount(),
  @@ -181,7 +166,6 @@
     @Apache::VMonitor::NETDEVS    = qw(lo eth0);
     $Apache::VMonitor::PROC_REGEX = join "\|", qw(httpd mysql squid);
   
  -
   More information is available in the module's extensive manpage.
   
   It requires C<Apache::Scoreboard> and C<GTop> to work.  C<GTop> in
  @@ -189,11 +173,6 @@
   platforms.  Visit http://www.home-of-linux.org/gnome/libgtop/ to check 
whether
   your platform/flavor is supported.
   
  -
  -
  -
  -
  -
   =head1 Apache::GTopLimit - Limit Apache httpd processes
   
   This module allows you to kill off Apache processes if they grow
  @@ -202,10 +181,9 @@
   size on every request:
   
   The module is thoroughly explained in the sections: "L<Keeping the
  -Shared Memory Limit|performance/Keeping_the_Shared_Memory_Limit>" and
  +Shared Memory Limit|guide::performance/Keeping_the_Shared_Memory_Limit>" and
   "L<Limiting the Size of the
  -Processes|performance/Limiting_the_Size_of_the_Process>"
  -
  +Processes|guide::performance/Limiting_the_Size_of_the_Process>"
   
   =head1 Apache::Request (libapreq) - Generic Apache Request Library
   
  @@ -230,17 +208,14 @@
   C<Apache::Request> and libapreq are tied tightly to the Apache API,
   to which there is no access in a process running under mod_cgi.
   
  -(L<Apache::Request|download/Apache__Request>)
  -
  -
  -
  +(L<Apache::Request|guide::download/Apache__Request>)
   
   =head1 Apache::RequestNotes - Allow Easy, Consistent Access to Cookie and 
Form Data Across Each Request Phase
   
   C<Apache::RequestNotes> provides a simple interface allowing all
   phases of the request cycle access to cookie or form input parameters
   in a consistent manner.  Behind the scenes, it uses libapreq
  
-L<Apache::Request|modules/Apache__Request__libapreq____Generic_Apache_Request_Library>)
  
+L<Apache::Request|guide::modules/Apache__Request__libapreq____Generic_Apache_Request_Library>)
   functions to parse request data and puts references to the data in
   C<pnotes()>.
   
  @@ -251,19 +226,10 @@
   
   See the C<Apache::RequestNotes> manpage for more information.
   
  -
  -
  -
   =head1 Apache::PerlRun - Run unaltered CGI scripts under mod_perl
   
   See L<Apache::PerlRun - a closer
  -look|porting/Apache_PerlRun_a_closer_look>.
  -
  -
  -
  -
  -
  -
  +look|guide::porting/Apache_PerlRun_a_closer_look>.
   
   =head1 Apache::RegistryNG -- Apache::Registry New Generation
   
  @@ -291,9 +257,6 @@
   C<Apache::RegistryBB> (Bare-Bones) is another subclass that skips the
   stat() call performed by C<Apache::Registry> on each request.
   
  -
  -
  -
   =head1 Apache::RegistryBB -- Apache::Registry Bare Bones 
   
   It works just like C<Apache::Registry>, but does not test the x bit
  @@ -310,11 +273,6 @@
       PerlHandler Apache::RegistryBB->handler
     </Location>
   
  -
  -
  -
  -
  -
   =head1 Apache::OutputChain -- Chain Stacked Perl Handlers
   
   Apache::OutputChain was written as a way of exploring the possibilities 
  @@ -356,17 +314,14 @@
   It's really a regular C<Apache::Registry> setup, except for the added
   modules in the PerlHandler line.
   
  
-(L<Apache::GzipChain|modules/Apache__GzipChain___compress_HTML__or_anything__in_the_OutputChain>
 allows to
  
+(L<Apache::GzipChain|guide::modules/Apache__GzipChain___compress_HTML__or_anything__in_the_OutputChain>
 allows to
   compress the output on the fly.)
   
  -
   =head1 Apache::Filter - Alter the output of previous handlers
   
   META: to be written (actually summarized the info from Apache::Filter
   manpage)
   
  -
  -
   =head1 Apache::GzipChain - compress HTML (or anything) in the OutputChain
   
   Have you ever served a huge HTML file (e.g. a file bloated with
  @@ -412,8 +367,6 @@
   Here we are using C<Apache::PassFile> but you can use any module which
   creates output.
   
  -
  -
   =head1 Apache::Gzip - Auto-compress web files with Gzip
   
   Similar to C<Apache::GzipChain> but works with C<Apache::Filter>.
  @@ -466,7 +419,6 @@
   
   And you will get the data compressed if configured correctly.
   
  -
   =head1 Apache::PerlVINC - Allows Module Versioning in Location blocks and 
Virtual Hosts
   
   With this module you can have different C<@INC> for different virtual
  @@ -549,9 +501,6 @@
   should only be used in a development environment, not a production
   one.
   
  -
  -
  -
   =head1 Apache::LogSTDERR
   
   When Apache's builtin syslog support is used, the stderr stream is
  @@ -566,9 +515,6 @@
   [META: see
   http://mathforum.org/epigone/modperl/vixquimwhen ]
   
  -
  -
  -
   =head1 Apache::RedirectLogFix
   
   Because of the way mod_perl handles redirects, the status code is
  @@ -587,7 +533,6 @@
     $r->status(304);
     $r->send_http_header();
   
  -
   =head1 Apache::SubProcess
   
   The output of C<system()>, C<exec()>, and C<open(PIPE,"|program")>
  @@ -726,8 +671,5 @@
   
   See the module manpage for more information.
   
  -
   =cut
  -
  -
   
  
  
  
  1.4       +8 -12     modperl-docs/src/docs/1.0/guide/multiuser.pod
  
  Index: multiuser.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/multiuser.pod,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- multiuser.pod     4 Feb 2002 13:50:25 -0000       1.3
  +++ multiuser.pod     27 Feb 2002 18:03:36 -0000      1.4
  @@ -47,7 +47,7 @@
   write) any other files that belong to the same user and/or group the
   web server is running as.  Note that L<it's impossible to run
   C<suEXEC> and C<cgiwrap> extensions under
  -mod_perl|install/Is_it_possible_to_run_mod_perl_enabled_Apache_as_suExec_>.
  
+mod_perl|guide::install/Is_it_possible_to_run_mod_perl_enabled_Apache_as_suExec_>.
   
   Another issue is the security of the database connections.  If you use
   C<Apache::DBI>, by hacking the C<Apache::DBI> code you can pick a
  @@ -147,7 +147,7 @@
   Another solution would be to use a setuid startup script, but think
   twice before you go with it, since if users can modify the scripts
   they will get a root access. For more information refer to the section
  -"L<SUID Start-up Scripts|control/SUID_Start_up_Scripts>".
  +"L<SUID Start-up Scripts|guide::control/SUID_Start_up_Scripts>".
   
   =item *
   
  @@ -206,11 +206,9 @@
   we don't want the user to override, such as the port number.  Even if
   the user changes the port number in his I<username.httpd.conf> file,
   Apache reads our settings last, so they take precedence.  Note that
  -you can use L<Perl sections|config/Apache_Configuration_in_Perl> to
  +you can use L<Perl sections|guide::config/Apache_Configuration_in_Perl> to
   make the configuration much easier.
   
  -
  -
   =item 3
   
   A much better, but costly solution is I<co-location>.  Let the user
  @@ -297,25 +295,23 @@
   
   =back
   
  -
  -
   =head1 Virtual Hosts in the guide
   
   If you are about to use I<Virtual Hosts> you might want to read these
   sections:
   
  -L<Apache Configuration in Perl|config/Apache_Configuration_in_Perl>
  +L<Apache Configuration in Perl|guide::config/Apache_Configuration_in_Perl>
   
   L<Easing the Chores of Configuring Virtual Hosts with
  -mod_macro|config/Configuring_Apache___mod_perl_with_mod_macro>
  +mod_macro|guide::config/Configuring_Apache___mod_perl_with_mod_macro>
   
   L<Is There a Way to Provide a Different startup.pl File for Each
  -Individual Virtual 
Host|config/Is_There_a_Way_to_Provide_a_Different_startup_pl_File_for_Each_Individual_Virtual_Host>
  +Individual Virtual 
Host|guide::config/Is_There_a_Way_to_Provide_a_Different_startup_pl_File_for_Each_Individual_Virtual_Host>
   
   L<Is There a Way to Modify @INC on a Per-Virtual-Host or Per-Location
  
-Basis.|config/Is_There_a_Way_to_Modify__INC_on_a_Per_Virtual_Host_or_Per_Location_Basis_>
 
  
+Basis.|guide::config/Is_There_a_Way_to_Modify__INC_on_a_Per_Virtual_Host_or_Per_Location_Basis_>
 
   
   L<A Script From One Virtual Host Calls a Script with the Same Path
  -From the Other Virtual 
Host|config/A_Script_From_One_Virtual_Host_Calls_a_Script_with_the_Same_Path_From_the_Other_Virtual_Host>
  +From the Other Virtual 
Host|guide::config/A_Script_From_One_Virtual_Host_Calls_a_Script_with_the_Same_Path_From_the_Other_Virtual_Host>
   
   =cut
  
  
  
  1.2       +34 -284   modperl-docs/src/docs/1.0/guide/performance.pod
  
  Index: performance.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/performance.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- performance.pod   6 Jan 2002 16:54:56 -0000       1.1
  +++ performance.pod   27 Feb 2002 18:03:36 -0000      1.2
  @@ -2,8 +2,6 @@
   
   Performance Tuning
   
  -
  -
   =head1 The Big Picture
   
   To make the user's Web browsing experience as painless as possible,
  @@ -64,24 +62,16 @@
   service business you should start worrying about the client's browsing
   experience and B<not only> how good your code benchmarks are.
   
  -
  -
  -
  -
  -
   =head1 System Analysis
   
   Before we try to solve a problem we need to identify it. In our case
   we want to get the best performance we can with as little monetary and
   time investment as possible.
   
  -
   =head2 Software Requirements
   
   Covered in the section "L<Choosing an Operating
  -System|hardware/Choosing_an_Operating_System>".
  -
  -
  +System|guide::hardware/Choosing_an_Operating_System>".
   
   =head2 Hardware Requirements
   
  @@ -138,11 +128,7 @@
   but exponentially!
   
   More coverage is provided in the section "L<Choosing
  -Hardware|hardware/Choosing_Hardware>".
  -
  -
  -
  -
  +Hardware|guide::hardware/Choosing_Hardware>".
   
   =head1 Essential Tools
   
  @@ -160,8 +146,6 @@
   relative results from the tests running on your machine, don't compare
   your absolute results with those in this Guide.
   
  -
  -
   =head2 Benchmarking Applications
   
   How much faster is mod_perl than mod_cgi (aka plain perl/CGI)?  There
  @@ -183,9 +167,8 @@
   directory of the mod_perl distribution includes such an example.
   
   See also two tools for benchmarking:
  -L<ApacheBench|performance/Configuration_Tuning_with_ApacheBench> and
  -L<crashme test|performance/the_crashme_Script>
  -
  +L<ApacheBench|guide::performance/Configuration_Tuning_with_ApacheBench> and
  +L<crashme test|guide::performance/the_crashme_Script>
   
   =head3 Benchmarking Perl Code
   
  @@ -219,9 +202,7 @@
     my $elapsed = tv_interval($start_time,$end_time);
     print "The sub took $elapsed seconds."
   
  -See also the L<crashme test|performance/the_crashme_Script>.
  -
  -
  +See also the L<crashme test|guide::performance/the_crashme_Script>.
   
   =head3 Benchmarking a Graphic Hits Counter with Persistent DB Connections
   
  @@ -253,18 +234,6 @@
   http://www.realtime.net/~parkerm/perl/conf98/sld006.htm. It's now a
   dead link.  If you know its new location, please let me know.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head3 Benchmarking Response Times
   
   In the next sections we will talk about tools that allow us to
  @@ -316,8 +285,6 @@
   efficient we will try to improve it and run the benchmark again, to
   see whether we have any improve in performance.
   
  -
  -
   =head4 httperf
   
   httperf is a utility written by David Mosberger.  Just like
  @@ -364,7 +331,7 @@
        Errors: total 299 client-timo 299 socket-timo 0 connrefused 0 connreset 0
        Errors: fd-unavail 0 addrunavail 0 ftab-full 0 other 0
   
  -L<httperf download|download/httperf____webserver_Benchmarking_tool>
  +L<httperf download|guide::download/httperf____webserver_Benchmarking_tool>
   
   =head4 http_load
   
  @@ -407,8 +374,7 @@
   
     ./http_load: unknown protocol - 
   
  -L<http_load 
download|download/http_load____another_webserver_Benchmarking_tool>
  -
  +L<http_load 
download|guide::download/http_load____another_webserver_Benchmarking_tool>
   
   =head4 the crashme Script
   
  @@ -445,7 +411,6 @@
   
   =code lwp-bench.pl The LWP::Parallel::UserAgent benchmark
   
  -
   =head3 Benchmarking PerlHandlers
   
   The C<Apache::Timeit> module does C<PerlHandler> Benchmarking.  With
  @@ -471,9 +436,6 @@
   The C<Apache::Timeit> package is a part of the I<Apache-Perl-contrib>
   files collection available from CPAN.
   
  -
  -
  -
   =head2 Code Profiling Techniques
   
   The profiling process helps you to determine which subroutines or just
  @@ -648,7 +610,6 @@
     %Time ExclSec CumulS #Calls sec/call Csec/c  Name
      0.00   0.000 -0.000      1   0.0000      -  main::test_code
   
  -
   It is possible to profile code running under mod_perl with the
   C<Devel::DProf> module, available on CPAN.  However, you must have
   apache version 1.3b3 or higher and the C<PerlChildExitHandler> enabled
  @@ -688,7 +649,6 @@
   (Lookup the C<ServerRoot> directive's value in I<httpd.conf> to figure
   out what's your C<$ServerRoot>.)
   
  -
   =head2 Measuring the Memory of the Process
   
   Very important aspect of performance tuning is to make sure that your
  @@ -817,14 +777,11 @@
   
   For more information refer to the C<BSD::Resource> manpage.
   
  -
  -
   =head2 Measuring the Memory Usage of Subroutines 
   
   With help of C<Apache::Status> you can find out the size of each
   and every subroutine.
   
  -
   =over
   
   =item 1 
  @@ -958,7 +915,6 @@
     th        114 bytes |  0 OPs
     b         113 bytes |  0 OPs
   
  -
   =back
   
   Note, that the above is correct if you didn't precompile all
  @@ -983,7 +939,6 @@
   startup imported even if you ask for only one symbol.  It
   seems to me like a bug, but probably that's how C<CGI.pm> works.
   
  -
   BTW, you can check the number of opcodes in the code by a simple
   command line run. For example comparing S<'my %hash'> vs. S<'my %hash =
   ()'>.
  @@ -1001,33 +956,8 @@
   Note that you shouldn't use C<Apache::Status> module on production
   server as it adds quite a bit of overhead for each request.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Know Your Operating System
   
  -
   In order to get the best performance it helps to get intimately
   familiar with the Operating System (OS) the web server is running
   on. There are many OS specific things that you may be able to optimize
  @@ -1036,7 +966,6 @@
   The following sections will reveal some of the most important details
   you should know about your OS.
   
  -
   =head2 Sharing Memory
   
   The sharing of memory is one very important factor.  If your OS
  @@ -1087,17 +1016,16 @@
   large, otherwise you lose some of the benefit of sharing memory.
   
   See L<Choosing
  -MaxRequestsPerChild|performance/Choosing_MaxRequestsPerChild> for more
  +MaxRequestsPerChild|guide::performance/Choosing_MaxRequestsPerChild> for more
   about tuning the C<MaxRequestsPerChild> parameter.
   
  -
   =head3 How Shared Is My Memory?
   
   You've probably noticed that the word shared is repeated many times in
   relation to mod_perl.  Indeed, shared memory might save you a lot of
   money, since with sharing in place you can run many more servers than
   without it.  See L<the Formula and the
  -numbers|performance/Choosing_MaxClients>.
  +numbers|guide::performance/Choosing_MaxClients>.
   
   How much shared memory do you have?  You can see it by either using
   the memory utility that comes with your system or you can deploy the
  @@ -1114,9 +1042,6 @@
   C<RES> (or C<RSS>) columns with the C<SHARE> column.  C<RES> is
   RESident memory, which is the size of pages currently swapped in.
   
  -
  -
  -
   =head3 Calculating Real Memory Usage
   
   I have shown how to measure the size of the process' shared memory,
  @@ -1169,7 +1094,7 @@
   this number on your own risk.
   
   I've used this technique to display real memory usage in the module
  
-L<Apache::VMonitor|debug/Apache__VMonitor____Visual_System_and_Apache_Server_Monitor>,
 so instead of
  
+L<Apache::VMonitor|guide::debug/Apache__VMonitor____Visual_System_and_Apache_Server_Monitor>,
 so instead of
   trying to manually calculate this number you can use this module to do
   it automatically.  In fact in the calculations used in this module
   there is no separation between the parent and child processes, they
  @@ -1201,7 +1126,6 @@
   
   So now C<$total_real> contains approximately the really used memory.
   
  -
   =head3 Are My Variables Shared?
   
   How do you find out if the code you write is shared between the
  @@ -1431,8 +1355,6 @@
     sub match { readonly =~ /\w/g; }
     1;
   
  -
  -
   =head3 Preloading Perl Modules at Server Startup
   
   You can use the C<PerlRequire> and C<PerlModule> directives to load
  @@ -1580,9 +1502,6 @@
   fantastic ratio, but this example is certainly helps to feel the
   difference.
   
  -
  -
  -
   =head3 Preloading Registry Scripts at Server Startup
   
   What happens if you find yourself stuck with Perl CGI scripts and you
  @@ -1665,8 +1584,7 @@
   I won't show any benchmarks here, since the effect is absolutely the
   same as with preloading modules.
   
  -See also L<BEGIN blocks|porting/BEGIN_blocks>
  -
  +See also L<BEGIN blocks|guide::porting/BEGIN_blocks>
   
   =head3 Modules Initializing at Server Startup
   
  @@ -1677,8 +1595,6 @@
   specific modules in their respective manpages. We will present a few
   examples of widely used modules where the code can be initialized.
   
  -
  -
   =head4 Initializing DBI.pm
   
   The first example is the C<DBI> module. As you know C<DBI> works with
  @@ -1891,8 +1807,6 @@
   So you can tell the difference (17% more child processes in the first
   version).
   
  -
  -
   =head4 Initializing CGI.pm
   
   C<CGI.pm> is a big module that by default postpones the compilation of
  @@ -2047,14 +1961,6 @@
   META: I've heard that the 3.x generation will be less bloated, so
   probably I'll have to rerun this using the new version.
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 Increasing Shared Memory With mergemem
   
   C<mergemem> is an experimental utility for linux, which looks I<very>
  @@ -2079,7 +1985,6 @@
   This software comes with a utility called C<memcmp> to tell you how
   much you might save.
   
  -
   =head2 Forking and Executing Subprocesses from mod_perl
   
   It's desirable to avoid forking under mod_perl. Since when you do, you
  @@ -2606,7 +2511,6 @@
   shifting the first value of the C<ARGV> array if available. The
   C<FreezeThaw> module does a very similar thing.
   
  -
   =head3 Starting a Short Running External Program
   
   Sometimes you need to call an external program and you cannot continue
  @@ -2638,10 +2542,6 @@
   solutions provided by other Perl modules like C<IPC::Open2> which
   allows to open a process for both reading and writing.
   
  -
  -
  -
  -
   =head3 Executing system() or exec() in the Right Way
   
   The exec() and system() system calls behave identically in the way
  @@ -2674,9 +2574,6 @@
   pointing to the existing program code plus your data space, thus will
   not create this overhead.
   
  -
  -
  -
   =head2 OS Specific Parameters for Proxying
   
   Most of the mod_perl enabled servers use a proxy front-end
  @@ -2688,9 +2585,7 @@
   There are very important OS parameters that you might want to change
   in order to improve the server performance. This topic is 
   discussed in the section: L<Setting the Buffering Limits on Various
  -OSes|scenario/Setting_the_Buffering_Limits_on_>
  -
  -
  +OSes|guide::scenario/Setting_the_Buffering_Limits_on_>
   
   =head1 Performance Tuning by Tweaking Apache Configuration
   
  @@ -2718,12 +2613,12 @@
   multiple clients calling the mod_perl scripts on your server
   simultaneously.  While there are commercial solutions, you can get
   away with free ones which do the same job.  You can use the
  -L<ApacheBench|performance/Configuration_Tuning_with_ApacheBench> B<C<ab>> 
utility
  +L<ApacheBench|guide::performance/Configuration_Tuning_with_ApacheBench> 
B<C<ab>> utility
   which comes with the Apache distribution, the L<crashme
  -script|performance/the_crashme_Script> which uses
  +script|guide::performance/the_crashme_Script> which uses
   C<LWP::Parallel::UserAgent>,
  -L<httperf|performance/httperf> or
  -L<http_load|performance/http_load>.
  +L<httperf|guide::performance/httperf> or
  +L<http_load|guide::performance/http_load>.
   
   It is important to make sure that you run the load generator (the
   client which generates the test requests) on a system that is more
  @@ -3015,7 +2910,6 @@
      1000        50       5    2.83
      1000       100      10    6.51
   
  -
   B<Conclusions:> When we drastically reduce C<MaxRequestsPerChild>, the
   performance starts to become closer to plain mod_cgi. 
   
  @@ -3039,8 +2933,6 @@
   about 100 seconds to be served.  In the second and third tests they
   waited 1000 seconds!
   
  -
  -
   =head2 Choosing MaxClients
   
   The C<MaxClients> directive sets the limit on the number of
  @@ -3051,7 +2943,7 @@
   possible, because in this way we can limit the resources used by the
   server children.  Since we can restrict each child's process size (see
   L<Limiting the size of the
  -processes|performance/Limiting_the_Size_of_the_Process>), the
  +processes|guide::performance/Limiting_the_Size_of_the_Process>), the
   calculation of C<MaxClients> is pretty straightforward:
   
                  Total RAM Dedicated to the Webserver
  @@ -3061,7 +2953,7 @@
   So if I have 400Mb left for the webserver to run with, I can set
   C<MaxClients> to be of 40 if I know that each child is limited to 10Mb
   of memory (e.g. with
  -L<C<Apache::SizeLimit>|performance/Limiting_the_Size_of_the_Processes>).
  
+L<C<Apache::SizeLimit>|guide::performance/Limiting_the_Size_of_the_Processes>).
   
   You will be wondering what will happen to your server if there are
   more concurrent users than C<MaxClients> at any time.  This situation
  @@ -3087,7 +2979,7 @@
   Your children can share memory between them when the OS supports that.
   You must take action to allow the sharing to happen - See L<Preload
   Perl modules at server
  -startup|performance/Preloading_Perl_Modules_at_Serve>.  If you do
  +startup|guide::performance/Preloading_Perl_Modules_at_Serve>.  If you do
   this, the chances are that your C<MaxClients> can be even higher.  But
   it seems that it's not so simple to calculate the absolute number.  If
   you come up with a solution please let us know!  If the shared memory
  @@ -3136,7 +3028,6 @@
   392% more servers! Now you can feel the importance of having as much
   shared memory as possible.
   
  -
   =head2 Choosing MaxRequestsPerChild
   
   The C<MaxRequestsPerChild> directive sets the limit on the number of
  @@ -3164,8 +3055,8 @@
   C<Apache::PerlRun> if this is the case.
   
   Another approach is to use the
  -L<Apache::SizeLimit|performance/Limiting_the_Size_of_the_Processes> or
  -the L<Apache::GTopLimit|performance/Keeping_the_Shared_Memory_Limit>
  +L<Apache::SizeLimit|guide::performance/Limiting_the_Size_of_the_Processes> or
  +the L<Apache::GTopLimit|guide::performance/Keeping_the_Shared_Memory_Limit>
   modules.  By using either of these modules you should be able to
   discontinue using the C<MaxRequestPerChild>, although for some
   developers, using both in combination does the job. In addition the
  @@ -3173,9 +3064,8 @@
   drops below a specified limit.
   
   See also L<Preload Perl modules at server
  -startup|performance/Preloading_Perl_Modules_at_Serve> and L<Sharing
  -Memory|performance/Sharing_Memory>. 
  -
  +startup|guide::performance/Preloading_Perl_Modules_at_Serve> and L<Sharing
  +Memory|guide::performance/Sharing_Memory>. 
   
   =head2 Choosing MinSpareServers, MaxSpareServers and StartServers
   
  @@ -3224,7 +3114,6 @@
   as a rule, but rather as examples to show you some possible scenarios.
   Use this information with caution!
   
  -
   =head2 Summary of Benchmarking to tune all 5 parameters
   
   OK, we've run various benchmarks -- let's summarize the conclusions:
  @@ -3300,20 +3189,6 @@
   
   =back
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 KeepAlive
   
   If your mod_perl server's I<httpd.conf> includes the following
  @@ -3377,11 +3252,6 @@
   
     $r->header_out('Content-Length', $length);
   
  -
  -
  -
  -
  -
   =head2 PerlSetupEnv Off
   
   C<PerlSetupEnv Off> is another optimization you might consider. This
  @@ -3435,8 +3305,6 @@
   
   Notice that we have got the value of the environment variable I<TEST>.
   
  -
  -
   =head2 Reducing the Number of stat() Calls Made by Apache
   
   If you watch the system calls that your server makes (using I<truss>
  @@ -3679,16 +3547,6 @@
   
   in the normal way (no C<E<lt>PerlE<gt>> section required).
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 TMTOWTDI: Convenience and Habit vs. Performance
   
   TMTOWTDI (sometimes pronounced I<"tim toady">), or I<"There's More
  @@ -3947,7 +3805,6 @@
   have just seen when we have tried the same benchmark on a different
   machine.
   
  -
   =head2 "Bloatware" modules
   
   Perl modules like IO:: are very convenient, but let's see what it
  @@ -4064,7 +3921,6 @@
   Anybody who's thinking of choosing one of these might do well to
   digest these numbers first.
   
  -
   =head2 Apache::args vs. Apache::Request::param vs. CGI::param
   
   Let's write three C<Apache::Registry> scripts that use
  @@ -4176,9 +4032,6 @@
   modules, whereas C<Apache::Request::param> is much faster than
   C<CGI::param>.
   
  -
  -
  -
   =head2 Using $|=1 Under mod_perl and Better print() Techniques.
   
   As you know, C<local $|=1;> disables the buffering of the currently
  @@ -4223,7 +4076,6 @@
       <BODY>
     }
   
  -
   If you try the following:
   
     print qq{
  @@ -4292,7 +4144,6 @@
   B<Conclusion>: Do not blindly follow suggestions, but think what is best for
   you in each case.
   
  -
   =head2 Global vs. Fully Qualified Variables
   
   It's always a good idea to avoid using global variables where it's
  @@ -4367,9 +4218,6 @@
   One could save 2.3Mb per single process with C<'use POSIX ();'> and
   using fully qualifying C<POSIX::> function calls.
   
  -
  -
  -
   =head2 Object Methods Calls vs. Function Calls
   
   Which subroutine calling form is more efficient: Object methods or
  @@ -4423,8 +4271,6 @@
   C<Foo-E<gt>$method()>.  And the improvement does not address the
   C<@ISA> lookup that still happens in either case.
   
  -
  -
   =head3 The Overhead with Heavy Subroutines
   
   But that doesn't mean that you shouldn't use methods.  Generally your
  @@ -4454,7 +4300,6 @@
                    function => sub { Foo::bar('Foo');},
                   });
   
  -
   We get a very close benchmarks!
   
     function: 33 wallclock secs (15.81 usr +  1.12 sys = 16.93 CPU)
  @@ -4484,7 +4329,6 @@
   over the life of a project may turn out to be the most significant
   cost factor.
   
  -
   =head3 Are All Methods Slower than Functions?
   
   Some modules' API is misleading, for example C<CGI.pm> allows you to
  @@ -4545,14 +4389,6 @@
   functional forms.  Therefore, the functional form should be slightly
   slower than the object form.
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head2 Imported Symbols and Memory Usage
   
   There is a real memory hit when you import all of the functions into
  @@ -4607,7 +4443,6 @@
   more when importing all the C<CGI.pm>'s symbols than when you import
   none at all.
   
  -
   Generally you use more than one script, run more than one process and
   probably import more symbols from the additional modules that you
   deploy. So the real numbers are much bigger.
  @@ -4621,14 +4456,11 @@
   reference to an object, but even then it can be passed by value.
   
   I strongly endorse L<Apache::Request (libapreq) - Generic Apache
  -Request Library|modules/Apache_Request_libapreq_Gen>.  Its core is
  +Request Library|guide::modules/Apache_Request_libapreq_Gen>.  Its core is
   written in C, giving it a significant memory and performance benefit.
   It has all the functionality of C<CGI.pm> except the HTML generation
   functions.
   
  -
  -
  -
   =head2 Interpolation, Concatenation or List
   
   Somewhat overlapping with the previous section we want to revisit the
  @@ -4724,15 +4556,9 @@
   be slower than direct append to the string whenever a new string
   springs into existence.
   
  -
  -
   [ReaderMETA]: Please send more mod_perl relevant Perl performance
   hints
   
  -
  -
  -
  -
   =head2 Using Perl stat() Call's Cached Results
   
   When you do a stat() (or its variations C<-M> -- last modification
  @@ -4758,10 +4584,6 @@
   
   Two stat() calls were saved!
   
  -
  -
  -
  -
   =head1 Apache::Registry and Derivatives Specific Notes
   
   These are the sections that deal solely with C<Apache::Registry> and
  @@ -4769,7 +4591,6 @@
   Perl handlers code is discussed here, so if you don't use these
   modules, feel free to skip this section.
   
  -
   =head2 Be Careful with Symbolic Links
   
   As you know C<Apache::Registry> caches the scripts in the packages
  @@ -4792,7 +4613,7 @@
     http://localhost/perl/news.pl
   
   To spot the duplication you should use the
  
-L<C<Apache::Status>|debug/Apache__Status____Embedded_Interpreter_Status_Information>
 module.
  
+L<C<Apache::Status>|guide::debug/Apache__Status____Embedded_Interpreter_Status_Information>
 module.
   Amongst other things, it shows all the compiled C<Apache::Registry>
   scripts (using their respective packages):
   
  @@ -4821,9 +4642,7 @@
   processes would show only one entry or none at all, since they might
   not serve the same requests as the others.  For more hints see the
   section "L<Run the server in single
  -mode|control/Running_a_Server_in_Single_Proce>".
  -
  -
  +mode|guide::control/Running_a_Server_in_Single_Proce>".
   
   =head1 Improving Performance by Prevention
   
  @@ -4838,7 +4657,6 @@
   programming techniques that would help you to keep your service in
   order, even if you are not around.
   
  -
   =head2 Memory leakage
   
   Scripts under mod_perl can very easily leak memory!  Global variables
  @@ -4898,7 +4716,6 @@
         # been modified
     }
   
  -
   If you work with arrays or hashes it's:
   
     @{$var_lr}  dereferences an array
  @@ -4936,7 +4753,6 @@
   either modify variables passed by reference or expressly return a
   result (e.g. C<$content=process($content);>).
   
  -
   =head3 Work With Databases
   
   If you do some DB processing, you will often encounter the need to
  @@ -5113,12 +4929,10 @@
         }       #  end of sub {}
     };  #  end of my $rsub = eval {
   
  -
   You might also want to check the section L<Limiting the Size of the
  -Processes|performance/Limiting_the_Size_of_the_Process>
  +Processes|guide::performance/Limiting_the_Size_of_the_Process>
   and L<Limiting Other Resources Used by Apache Child
  -Processes|performance/Limiting_Other_Resources_Used_by>.
  -
  +Processes|guide::performance/Limiting_Other_Resources_Used_by>.
   
   =head2 Keeping the Shared Memory Limit
   
  @@ -5146,7 +4960,7 @@
   
   That's where the C<Apache::GTopLimit> module comes to help.  If you
   are lucky to have your OS among those that can build the
  -L<libgtop|download/libgtop> library, you will be able to build the
  +L<libgtop|guide::download/libgtop> library, you will be able to build the
   C<GTop> module that provides the Perl API for C<libgtop>, which in
   turn used by C<Apache::GTopLimit> (that's the I<GTop> part in the
   name).
  @@ -5189,7 +5003,6 @@
   
     $Apache::GTopLimit::DEBUG = 1;
   
  -
   =head2 Limiting the Size of the Processes
   
   So now you know how to prevent processes from consuming more real
  @@ -5359,19 +5172,13 @@
   Refer to the C<Apache::Resource> and C<setrlimit(2)> manpages for more
   information.
   
  -
  -
  -
  -
  -
   =head2 Limiting the Number of Processes Serving the Same Resource
   
   If you want to limit number of Apache children that could
   simultaneously be serving the (nearly) same resource, you should take
  -a look at the L<C<mod_throttle_access>|download/mod_throttle_access>
  +a look at the L<C<mod_throttle_access>|guide::download/mod_throttle_access>
   module.
   
  -
   It solves the problem of too many concurrent request accessing the
   same URI, if for example the handler that serves this URI uses some
   resource that has a limitation on the maximum number of possible users
  @@ -5417,32 +5224,16 @@
   
   http://www.modperl.com/chapters/ch6.html#Blocking_Greedy_Clients
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Perl Modules for Performance Improvement
   
  -
   These sections are about Perl modules that improve performance without
   requiring changes to your code. Mostly you just need to tweak the
   configuration file to plug these modules in.
   
  -
  -
   =head2 Sending Plain HTML as Compressed Output
   
   See L<Apache::GzipChain - compress HTML (or anything) in the
  -OutputChain|modules/Apache_GzipChain_compress_HTM>
  -
  -
  +OutputChain|guide::modules/Apache_GzipChain_compress_HTM>
   
   =head2 Caching Components with HTML::Mason
   
  @@ -5467,20 +5258,14 @@
   
   META: Should also mention Embperl (especially since its C + XS)
   
  -
  -
  -
  -
   =head1 Efficient Work with Databases under mod_perl
   
  -
   Most of the mod_perl enabled servers work with database engines, so in
   this section we will learn about two things: how mod_perl makes working
   with databases faster and a few tips for a more efficient DBI coding in
   Perl. (DBI provides an identical Perl interface to many database
   implementations.)
   
  -
   =head2 Persistent DB Connections
   
   Another popular use of mod_perl is to take advantage of its ability to
  @@ -5584,12 +5369,6 @@
   connections to achieve the same result, although this is at the risk
   of getting deadlocks depending on what you are trying to do!
   
  -
  -
  -
  -
  -
  -
   =head2 mod_perl Database Performance Improving
   
   =head3 Analysis of the Problem
  @@ -5699,7 +5478,7 @@
   database, C<Apache::DBI> returns a cached connection, thus saving the
   significant time penalty of repeatedly connecting to the database. You
   will find a full treatment of C<Apache::DBI> at L<Persistent DB
  -Connections|performance/Persistent_DB_Connections>
  +Connections|guide::performance/Persistent_DB_Connections>
   
   When C<Apache::DBI> is in use, none of the code in the example needs
   to change. The code is upgraded from naive to respectable with the use
  @@ -5898,7 +5677,6 @@
     }
     # ...
   
  -
   Notice that several improvements have been made. Since the statement
   handles have a longer life than the request, there is no need for each
   request to prepare the statement, and no need to call the statement
  @@ -5926,18 +5704,6 @@
   improving your database indexing scheme or web server buffering and
   load balancing.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Using 3rd Party Applications
   
   It's been said that no one can do everything well, but one can do
  @@ -5953,16 +5719,11 @@
   
   Let's take a look at a few of these.
   
  -
   =head2 Proxying the mod_perl Server
   
   Proxy gives you a great performance increase in most cases. It's
   discussed in the section L<Adding a Proxy Server in http Accelerator
  -Mode|strategy/Adding_a_Proxy_Server_in_http_Ac>.
  -
  -
  -
  -
  +Mode|guide::strategy/Adding_a_Proxy_Server_in_http_Ac>.
   
   =head1 Upload and Download of Big Files
   
  @@ -5978,13 +5739,12 @@
   downloading of big files, you probably want it to be executed on a
   plain apache server under mod_cgi (i.e. performing this operation on
   the front-end server, if you use L<a dual-server
  -setup|scenario/One_Plain_and_One_mod_perl_enabl>.
  +setup|guide::scenario/One_Plain_and_One_mod_perl_enabl>.
   
   This of course assumes that the script requires none of the
   functionality of the mod_perl server, such as custom authentication
   handlers.
   
  -
   =head1 Apache/mod_perl Build Options
   
   It's important how you build mod_perl enabled Apache. It influences
  @@ -5993,7 +5753,6 @@
   
   [ReaderMETA: Any other building time things that influence performance?]
   
  -
   =head2 mod_perl Process Size as a Function of Compiled in C Modules and 
mod_perl Features
   
   You might wonder whether it's better to compile in only the required
  @@ -6050,7 +5809,6 @@
     Everything          1044432         +151504
     Everything+Debug    1162100         +269172
   
  -
   Indeed when you strip most of the default things, the server size is
   slimmer.  But the savings are insignificant since you don't multiply
   the added size by the number of child processes if your OS supports
  @@ -6070,18 +5828,14 @@
   components and disabling the unneeded default components, makes you a
   good Apache administrator.
   
  -
  -
   =head1 Perl Build Options
   
  -
   The Perl interpreter lays in the brain of the mod_perl server and if
   we can optimize perl into doing things faster under mod_perl we make
   the whole server faster. Generally, optimizing the Perl interpreter
   means enabling or disabling some command line options. Let's see a few
   important ones.
   
  -
   =head2 -DTWO_POT_OPTIMIZE and -DPACK_MALLOC Perl Build Options
   
   Newer Perl versions also have build time options to reduce runtime
  @@ -6112,9 +5866,6 @@
   Important: both options are On by default in perl versions 5.005 and
   higher.
   
  -
  -
  -
   =head2 -Dusemymalloc Perl Build Option
   
   You have a choice to use the native or Perl's own malloc()
  @@ -6135,7 +5886,6 @@
   to configure Perl with -Dusemymalloc. Perl's malloc is not 
   much of a win under linux, but makes a B<huge> difference under
   Solaris.
  -
   
   =head1 Architecture Specific Compile Options
   
  
  
  
  1.2       +9 -126    modperl-docs/src/docs/1.0/guide/perl.pod
  
  Index: perl.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/perl.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- perl.pod  6 Jan 2002 16:54:56 -0000       1.1
  +++ perl.pod  27 Feb 2002 18:03:36 -0000      1.2
  @@ -12,12 +12,6 @@
   information provided here.  The rest of the Guide assumes that you
   have read this chapter and understood it.
   
  -
  -
  -
  -
  -
  -
   =head1 perldoc's Rarely Known But Very Useful Options
   
   First of all, I want to stress that you cannot become a Perl hacker
  @@ -34,7 +28,6 @@
   installed on your system.  To find out what Perl manpages are
   available execute:
   
  -
     % perldoc perl
   
   To find what functions perl has, execute:
  @@ -63,11 +56,6 @@
   
     % perldoc perldoc
   
  -
  -
  -
  -
  -
   =head1 Tracing Warnings Reports
   
   Sometimes it's very hard to understand what a warning is complaining
  @@ -197,16 +185,11 @@
   operator and "here documents" are known to throw off Perl's line
   numbering, so the messages reporting warnings and errors can have
   incorrect line numbers. (See L<Finding the Line Which Triggered the
  -Error or Warning|debug/Finding_the_Line_Which_Triggered> for more
  +Error or Warning|guide::debug/Finding_the_Line_Which_Triggered> for more
   information).
   
   Getting the trace helps a lot.
   
  -
  -
  -
  -
  -
   =head1 Variables Globally, Lexically Scoped And Fully Qualified
   
   META: this material is new and requires polishing so read with care.
  @@ -215,7 +198,6 @@
   scoping in Perl discussions, but little of it will make any sense
   without a few key facts:
   
  -
   =head2 Symbols, Symbol Tables and Packages; Typeglobs
   
   There are two important types of symbol: package global and lexical.
  @@ -380,36 +362,20 @@
   
   =back
   
  -
  -
  -
   =head2 Additional reading references
   
   For more information see: L<Using global variables and sharing them
  -between modules/packages|perl/Using_Global_Variables_and_Shari> and an
  +between modules/packages|guide::perl/Using_Global_Variables_and_Shari> and an
   article by Mark-Jason Dominus about how Perl handles variables and
   namespaces, and the difference between C<use vars()> and C<my()> -
   http://www.plover.com/~mjd/perl/FAQs/Namespaces.html .
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 my() Scoped Variable in Nested Subroutines
   
   Before we proceed let's make the assumption that we want to develop
   the code under the C<strict> pragma. We will use lexically scoped
   variables (with help of the my() operator) whenever it's possible.
   
  -
  -
  -
  -
   =head2 The Poison
   
   Let's look at this code:
  @@ -473,11 +439,6 @@
   our code has some kind of memory for the results of the first
   execution, or it ignores the arguments in subsequent executions.
   
  -
  -
  -
  -
  -
   =head2 The Diagnosis
   
   Let's follow the guidelines and use the C<-w> flag. Now execute the
  @@ -539,9 +500,6 @@
   outer subroutine.  There are two copies of the C<$x> variable, no
   longer a single one shared by the two routines.
   
  -
  -
  -
   =head2 The Remedy
   
   The C<diagnostics> pragma suggests that the problem can be solved by
  @@ -594,8 +552,6 @@
   
   So we can see that the problem is solved. 
   
  -
  -
   =head1 Understanding Closures -- the Easy Way
   
   In Perl, a closure is just a subroutine that refers to one or more
  @@ -685,9 +641,6 @@
   identical code references and therefore it ignores any future changes
   to the lexical variables outside of it.
   
  -
  -
  -
   =head1 When You Cannot Get Rid of The Inner Subroutine
   
   First you might wonder, why in the world will someone need to define
  @@ -796,16 +749,14 @@
   it won't work as you expect starting from the second call, as was
   explained in the previous section.
   
  -
   =head2 Remedies for Inner Subroutines
   
   First of all there is nothing to worry about, as long as you don't
   forget to turn the warnings On.  If you do happen to have the 
   "L<my() Scoped Variable in Nested 
  -Subroutines|perl/my_Scoped_Variable_in_Nested_S>"
  +Subroutines|guide::perl/my_Scoped_Variable_in_Nested_S>"
   problem, Perl will always alert you.
   
  -
   Given that you have a script that has this problem, what are the ways
   to solve it? There are many of them and we will discuss some of them
   here.
  @@ -1035,7 +986,6 @@
   it is not updatable as would be the case of calling the function with
   a literal, e.g. I<increment_counter(5)>).
   
  -
     multirun5.pl
     -----------
     #!/usr/bin/perl -w
  @@ -1101,28 +1051,12 @@
     
     1 ;
   
  -
   Now you have at least six workarounds to choose from.
   
  -
   For more information please refer to perlref and perlsub manpages.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 use(), require(), do(), %INC and @INC Explained
   
  -
  -
   =head2 The @INC array
   
   C<@INC> is a special Perl variable which is the equivalent of the
  @@ -1138,7 +1072,6 @@
   of the directories in C<@INC>, or you can provide the full path to the
   file.
   
  -
   =head2 The %INC hash
   
   C<%INC> is another special Perl variable that is used to cache the
  @@ -1284,7 +1217,6 @@
   recompile the C<FindBin> module on each request. So it may not be
   worth it.
   
  -
   =head2 Modules, Libraries and Program Files
   
   Before we proceed, let's define what we mean by I<module>, 
  @@ -1333,7 +1265,6 @@
     }
     1;
   
  -
   =item * Modules
   
   A file which contains perl subroutines and other code.
  @@ -1378,10 +1309,6 @@
   
   =back
   
  -
  -
  -
  -
   =head2 require()
   
   require() reads a file containing Perl code and compiles it. Before
  @@ -1410,7 +1337,7 @@
   the suggestion is to put "C<1;>" at the end of file.
   
   Although you should use the real filename for most files, if the file
  -is a L<module|perl/Modules__Libraries_and_Program_Files>, you may use the
  +is a L<module|guide::perl/Modules__Libraries_and_Program_Files>, you may use 
the
   following convention instead:
   
     require My::Module;
  @@ -1477,7 +1404,7 @@
   
   use(), just like require(), loads and compiles files containing Perl
   code, but it works with
  -L<modules|perl/Modules__Libraries_and_Program_Files> only.  The only way to
  +L<modules|guide::perl/Modules__Libraries_and_Program_Files> only.  The only 
way to
   pass a module to load is by its module name and not its filename.  If
   the module is located in I<MyCode.pm>, the correct way to use() it is:
   
  @@ -1539,7 +1466,6 @@
   imported by C<use>, i.e., it calls C<Module-E<gt>unimport(LIST)>
   instead of C<import()>.
   
  -
   =head2 do()
   
   While do() behaves almost identically to require(), it reloads the
  @@ -1552,21 +1478,6 @@
   successfully compiled, do() returns the value of the last expression
   evaluated.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Using Global Variables and Sharing Them Between Modules/Packages
   
   It helps when you code your application in a structured way, using the
  @@ -1591,7 +1502,7 @@
   import(). This will work only if you do not use C<strict> pragma; but
   you I<have> to use this pragma if you want to run your scripts under
   mod_perl. Read L<The strict
  -pragma|porting/The_strict_pragma> to find out why. 
  +pragma|guide::porting/The_strict_pragma> to find out why. 
   
   =head2 Making Variables Global With strict Pragma On
   
  @@ -1692,7 +1603,6 @@
     
     My::HTML::printmyheader();
   
  -
     My/HTML.pm
     ----------------
     package My::HTML;
  @@ -1741,7 +1651,6 @@
     }
     1;
   
  -
   =head2 Using the Perl Aliasing Feature to Share Global Variables
   
   As the title says you can import a variable into a script or module
  @@ -1889,7 +1798,6 @@
     my $config_module = $r->dir_config('FooConfigModule') || '';
     
   
  -
   =head1 The Scope of the Special Perl Variables
   
   Special Perl variables like C<$|> (buffering), C<$^T> (script's start
  @@ -1948,18 +1856,6 @@
   but within the enclosing block, the global variable will be visible
   with its new value inside the subroutine.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Compiled Regular Expressions 
   
   When using a regular expression that contains an interpolated Perl
  @@ -2094,12 +1990,6 @@
   The qr() operator compiles the pattern for each request and then use
   the compiled version in the actual match.
   
  -
  -
  -
  -
  -
  -
   =head1 Exception Handling for mod_perl
   
   Here are some guidelines for S<clean(er)> exception handling in
  @@ -2177,7 +2067,6 @@
     }
     # all is well or has been handled
   
  -
   =head2 Alternative Exception Handling Techniques
   
   An often suggested method for handling global exceptions in mod_perl,
  @@ -2249,8 +2138,6 @@
   inform them of better ways to code. The following material is an
   attempt to do just that.
   
  -
  -
   =head2 Better Exception Handling
   
   The C<eval{}> construct in itself is a fairly weak way to handle
  @@ -2449,7 +2336,7 @@
   overcome this by overriding the core die function. This is slightly
   more complex than implementing a C<$SIG{__DIE__}> handler, but is far
   less magical, and is the right thing to do, according to the
  -L<perl5-porters mailing list|help/Get_help_with_Perl>.
  +L<perl5-porters mailing list|guide::help/Get_help_with_Perl>.
   
   Overriding core functions has to be done from an external
   package/module. So we're going to add that to our C<My::Exception>
  @@ -2490,7 +2377,6 @@
   there's no "finally" clause, and no exception stack, but that's another topic
   for another time).
   
  -
   =head2 A Single UnCaught Exception Class
   
   Until the Perl core gets its own base exception class (which will likely 
happen
  @@ -2548,7 +2434,6 @@
   check the source code of anything you install to make sure it follows
   your exception handling technique, or just uses die() with strings.
   
  -
   =head2 Some Uses
   
   I'm going to come right out and say now: I abuse this system horribly!
  @@ -2581,7 +2466,6 @@
   programmer style really. There's a lot of literature out there about
   exception handling, so I suggest doing some research.
   
  -
   =head2 Conclusions
   
   Here I've demonstrated a simple and scalable (and useful) exception
  @@ -2593,7 +2477,7 @@
   delivering to thousands of users.
   
   For similar exception handling techniques, see the section "L<Other
  -Implementations|perl/Other_Implementations>".
  +Implementations|guide::perl/Other_Implementations>".
   
   =head2 The My::Exception class in its entirety
   
  @@ -2661,7 +2545,7 @@
   =item * Error.pm
   
   Graham Barr's excellent OO styled "try, throw, catch" module (from
  -L<CPAN|download/Perl>). This should be considered your best option
  +L<CPAN|guide::download/Perl>). This should be considered your best option
   for structured exception handling because it is well known and well
   supported and used by a lot of other applications.
   
  @@ -2677,7 +2561,6 @@
   classes that provide extra methods or data.  For example, an exception
   class for database errors could provide a method for returning the SQL
   and bound parameters in use at the time of the error.
  -
   
   =item * Try.pm
   
  
  
  
  1.3       +33 -357   modperl-docs/src/docs/1.0/guide/porting.pod
  
  Index: porting.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/porting.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- porting.pod       21 Feb 2002 09:08:38 -0000      1.2
  +++ porting.pod       27 Feb 2002 18:03:36 -0000      1.3
  @@ -34,23 +34,13 @@
   functions that were reimplemented to work better in mod_perl
   environment.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Before you start to code
   
   It can be a good idea to tighten up some of your Perl programming
   practices, since mod_perl doesn't tolerate sloppy programming.
   
   This chapter relies on a certain level of Perl knowledge. Please
  -read through the L<Perl Reference|perl/Perl_Reference_> chapter and make 
sure you
  +read through the L<Perl Reference|guide::perl/Perl_Reference_> chapter and 
make sure you
   know the material covered there. This will allow me to concentrate on
   pure mod_perl issues and make them more prominent to the experienced
   Perl programmer, which would otherwise be lost in the sea of Perl
  @@ -82,16 +72,6 @@
   
   =back
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Exposing Apache::Registry secrets
   
   Let's start with some simple code and see what can go wrong with it,
  @@ -119,7 +99,6 @@
       print "Counter is equal to $counter !\r\n";
     }
   
  -
   You would expect to see the output:
   
     Counter is equal to 1 !
  @@ -144,9 +123,6 @@
   counter over 5 and inconsistent growth over reloads. Let's investigate
   this script.
   
  -
  -
  -
   =head2 The First Mystery
   
   First let's peek into the C<error_log> file. Since we have enabled the
  @@ -160,7 +136,7 @@
   opposed to anonymous - subroutine defined inside another subroutine)
   that refers to a lexically scoped variable defined outside this nested
   subroutine.  This effect is explained in L<my() Scoped Variable in
  -Nested Subroutines|perl/my_Scoped_Variable_in_Nested_S>.
  +Nested Subroutines|guide::perl/my_Scoped_Variable_in_Nested_S>.
   
   Do you see a nested named subroutine in my script? I don't!  What's
   going on? Maybe it's a bug? But wait, maybe the perl interpreter sees
  @@ -298,7 +274,7 @@
   (unless I create them myself :).
   
   The section 'L<Remedies for Inner
  -Subroutines|perl/Remedies_for_Inner_Subroutines>' discusses 
  +Subroutines|guide::perl/Remedies_for_Inner_Subroutines>' discusses 
   many other possible workarounds for this problem.
   
   You shouldn't be intimidated by this issue at all, since Perl is your
  @@ -341,9 +317,6 @@
   Why didn't we notice this when we were trying the software on our
   development server? Keep reading and you will understand why.
   
  -
  -
  -
   =head2 The Second Mystery
   
   Let's return to our original example and proceed with the second
  @@ -385,21 +358,10 @@
   
   Of course none of the warnings will be reported if the warning
   mechanism is not turned B<On>. Refer to the section "L<Tracing
  -Warnings Reports|perl/Tracing_Warnings_Reports>" to learn about
  -warnings in general and to the "L<Warnings|porting/Warnings>" section
  +Warnings Reports|guide::perl/Tracing_Warnings_Reports>" to learn about
  +warnings in general and to the "L<Warnings|guide::porting/Warnings>" section
   to learn how to turn them on and off under mod_perl.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Sometimes it Works, Sometimes it Doesn't
   
   When you start running your scripts under mod_perl, you might find
  @@ -480,11 +442,8 @@
       return (SOME_USER_PASSWD_CHECK_IS_OK) ? 1 : 0;
     }
   
  -
   Of course this example is trivial--but believe me it happens!
   
  -
  -
   =head2 Thinking mod_cgi
   
   Just another little one liner that can spoil your day, assuming you
  @@ -524,25 +483,10 @@
     }
   
   To make sure you don't miss these bugs always test your CGI in
  -L<single process mode|control/Running_a_Server_in_Single_Process_Mode>.
  +L<single process 
mode|guide::control/Running_a_Server_in_Single_Process_Mode>.
   
   To solve this particular B</o> modifier problem refer to L<Compiled
  -Regular Expressions|perl/Compiled_Regular_Expressions>.
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  +Regular Expressions|guide::perl/Compiled_Regular_Expressions>.
   
   =head1 Script's name space
   
  @@ -551,22 +495,10 @@
   your URI is C</perl/test.pl> the package will be called
   C<Apache::ROOT::perl::test_2epl>.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 @INC and mod_perl
   
   The basic Perl C<@INC> behaviour is explained in section L<use(), require(),
  -do(), %INC and @INC Explained|perl/use_require_do_INC_and>.
  +do(), %INC and @INC Explained|guide::perl/use_require_do_INC_and>.
   
   When running under mod_perl, once the server is up C<@INC> is frozen
   and cannot be updated.  The only opportunity to B<temporarily> modify
  @@ -604,22 +536,12 @@
   
     PerlRequire /path/to/startup.pl
   
  -
   =back
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Reloading Modules and Required Files
   
   You might want to read the "L<use(), require(), do(), %INC and @INC
  -Explained|perl/use_require_do_INC_and>" before you proceed with this
  +Explained|guide::perl/use_require_do_INC_and>" before you proceed with this
   section.
   
   When you develop plain CGI scripts, you can just change the code, and
  @@ -649,7 +571,7 @@
   
   The simplest approach is to restart the server each time you apply
   some change to your code.  See L<Server Restarting
  -techniques|control/Restarting_Techniques>.
  +techniques|guide::control/Restarting_Techniques>.
   
   After restarting the server about 100 times, you will tire of it and
   you will look for other solutions.
  @@ -697,11 +619,10 @@
   value.
   
   To make sure that you have set C<@INC> correctly, configure
  -L</perl-status 
location|debug/Apache__Status____Embedded_Interpreter_Status_Information>, fetch
  +L</perl-status 
location|guide::debug/Apache__Status____Embedded_Interpreter_Status_Information>,
 fetch
   http://www.example.com/perl-status?inc and look at the bottom of the
   page, where the contents of C<@INC> will be shown.
   
  -
   Notice the following trap:
   
   While "C<.>" is in C<@INC>, perl knows to require() files with
  @@ -715,7 +636,6 @@
   If you want Apache::StatINC to reload your script--modify C<@INC> at
   server startup, or use a full path in the require() call.
   
  -
   =head2 Using Apache::Reload 
   
   C<Apache::Reload> comes as a drop-in replacement for
  @@ -787,7 +707,6 @@
   This module might have a problem with reloading single modules that
   contain multiple packages that all use pseudo-hashes.
   
  -
   Also if you have modules loaded from directories which are not in
   C<@INC>, C<Apache::Reload> will fail to find the files, due the fact
   that C<@INC> is reset to its original value even if it gets temporary
  @@ -810,12 +729,9 @@
   
   and restart the server. Now the problem is solved.
   
  -
   =head3 Availability
   
  -This module is available from L<CPAN|download/CPAN_Downloads>. 
  -
  -
  +This module is available from L<CPAN|guide::download/CPAN_Downloads>. 
   
   =head2 Configuration Files: Writing, Dynamically Updating and Reloading
   
  @@ -1156,12 +1072,10 @@
            },
       );
   
  -
   You have just learned how to make configuration files easily
   maintainable, and how to save memory by avoiding the export of
   variables into a script's namespace.
   
  -
   =head3 Reloading Configuration Files
   
   First, lets look at a simple case, when we just have to look after a
  @@ -1289,7 +1203,7 @@
   variables on its first invocation.  To do that, you would need to
   replace each occurrence of return() and warn() with die(). If you do
   that, take a look at the section "L<Redirecting Errors to the Client
  -instead of error_log|snippets/Redirecting_Errors_to_the_Client>".
  +instead of error_log|guide::snippets/Redirecting_Errors_to_the_Client>".
   
   I used the above approach when I had a huge configuration file that
   was loaded only at server startup, and another little configuration
  @@ -1634,7 +1548,6 @@
     
     } # end sub conf_modification_form
   
  -
   Once updated the script generates a file like:
   
     $c{release}  =  '5.6';
  @@ -1645,8 +1558,6 @@
     
     1;
   
  -
  -
   =head2 Reloading handlers
   
   If you want to reload a perlhandler on each invocation, the following
  @@ -1656,27 +1567,10 @@
   
   do() reloads C<MyTest.pm> on every request.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Name collisions with Modules and libs
   
   This section requires an in-depth understanding of L<use(), require(),
  -do(), %INC and @INC |perl/use_require_do_INC_and>.
  +do(), %INC and @INC |guide::perl/use_require_do_INC_and>.
   
   To make things clear before we go into details: each child process has
   its own C<%INC> hash which is used to store information about its
  @@ -1742,7 +1636,6 @@
   
   =back
   
  -
   Let's look at three scripts with faults related to name space.  For the 
   following discussion we will consider just one individual child process.
   
  @@ -1757,11 +1650,9 @@
   compiled.  This is a direct result of using C<%INC>, which has keys
   equal to the names of the modules.  Two identical names will refer to
   the same key in the hash.  (Refer to the section 'L<Looking inside the
  -server|debug/Looking_inside_the_server>' to find out how you can know
  +server|guide::debug/Looking_inside_the_server>' to find out how you can know
   what is loaded and where.)
   
  -
  -
   So if you have two different C<Foo> modules in two different
   directories and two scripts C<script1.pl> and C<script2.pl>, placed
   like this:
  @@ -1771,7 +1662,6 @@
     ./tool2/Foo.pm
     ./tool2/tool2.pl
   
  -
   Where some sample code could be:
   
     ./tool1/tool1.pl
  @@ -1806,7 +1696,7 @@
   about C<Foo>. When you call the second script it will not know about
   C<Foo> at all--it's like you've forgotten to write C<use Foo;>. Run
   the server in L<single server
  -mode|control/Running_a_Server_in_Single_Proce> to detect this kind of
  +mode|guide::control/Running_a_Server_in_Single_Proce> to detect this kind of
   bug immediately.
   
   You will see the following in the error_log file:
  @@ -1861,7 +1751,6 @@
   
   =back
   
  -
   There are three solutions for this:
   
   =over
  @@ -1977,19 +1866,6 @@
   server!  You have to run a separate server for each. They can be on the
   same machine, but the servers will use different ports.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 More package name related issues
   
   If you have the following:
  @@ -2001,17 +1877,6 @@
   then the C<Apache::Work::Foo> package gets defined, so mod_perl does
   not try to pull in C<Apache/Work/Foo.pm>
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1  __END__ and __DATA__ tokens
   
   C<Apache::Registry> scripts cannot contain C<__END__> or C<__DATA__>
  @@ -2062,20 +1927,6 @@
   Also, remember that whatever applies to C<Apache::Registry> scripts,
   in most cases applies to C<Apache::PerlRun> scripts.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Output from system calls
   
   The output of C<system()>, C<exec()>, and C<open(PIPE,"|program")> calls
  @@ -2089,21 +1940,12 @@
   But you're throwing performance out the window either way. It's best
   not to fork at all if you can avoid it. See the "L<Forking or
   Executing subprocesses from
  -mod_perl|performance/Forking_and_Executing_Subprocess>" section
  +mod_perl|guide::performance/Forking_and_Executing_Subprocess>" section
   to learn about implications of forking.
   
  -Also read about 
L<Apache::SubProcess|porting/CGI_to_mod_perl_Porting__mod_perl_Coding_guidelines__>
 for
  +Also read about 
L<Apache::SubProcess|guide::porting/CGI_to_mod_perl_Porting__mod_perl_Coding_guidelines__>
 for
   overridden system() and exec() implementations that work with mod_perl.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Using format() and write()
   
   The interface to filehandles which are linked to variables with Perl's
  @@ -2120,9 +1962,6 @@
   
   Another alternative is to use the C<Text::Reform> module.
   
  -
  -
  -
   =head1 Terminating requests and processes, the exit() and child_terminate() 
functions
   
   Perl's C<exit()> built-in function (all versions prior to 5.6) cannot
  @@ -2202,16 +2041,11 @@
   The above is the code that is used by the C<Apache::SizeLimit> module
   which terminates processes that grow bigger than a value you choose.
   
  
-L<Apache::GTopLimit|modules/Apache__GTopLimit___Limit_Apache_httpd_processes> 
(based on
  
+L<Apache::GTopLimit|guide::modules/Apache__GTopLimit___Limit_Apache_httpd_processes>
 (based on
   I<libgtop> and C<GTop.pm>) is a similar module. It does the same
   thing, plus you can configure it to terminate processes when their
   shared memory shrinks below some specified size.
   
  -
  -
  -
  -
  -
   =head1 die() and mod_perl
   
   When you write:
  @@ -2246,7 +2080,6 @@
   
     $SIG{__DIE__} = sub { print STDERR @_; Apache::exit(); }
   
  -
   =head1 Return Codes
   
   C<Apache::Registry> normally assumes a return code of C<OK> (C<200>).
  @@ -2259,17 +2092,12 @@
   C<$r-E<gt>send_http_header()> (assuming that you have C<PerlSendHeader
   Off>).
   
  -
   =head1 Testing the Code from the Shell
   
   Your CGI scripts will B<not> yet run from the command line unless you
   use C<CGI::Switch> or C<CGI.pm> and have Perl 5.004 or later.  They
   must not make any direct calls to Apache's Perl API methods.
   
  -
  -
  -
  -
   =head1 I/O is different
   
   If you are using Perl 5.004 or later, most CGI scripts can run under
  @@ -2279,10 +2107,6 @@
   functions do not work as they do under CGI. If you're using C<CGI.pm>,
   use C<$query-E<gt>print> instead of plain ol' C<print()>.
   
  -
  -
  -
  -
   =head1 STDIN, STDOUT and STDERR streams
   
   In mod_perl both C<STDIN> and C<STDOUT> are tied to the socket the
  @@ -2301,12 +2125,10 @@
   Note that C<OUT> was picked just as an example -- there is nothing
   special about it. If you are looking to redirect the STDOUT stream
   into a scalar, see the L<Redirecting STDOUT into a
  -String|porting/Redirecting_STDOUT_into_a_Scalar> section.
  +String|guide::porting/Redirecting_STDOUT_into_a_Scalar> section.
   
   C<STDERR> is tied to the file defined by the C<ErrorLog> directive.
   
  -
  -
   =head1 Redirecting STDOUT into a Scalar
   
   Sometimes you have a situation where a black box functions prints the
  @@ -2328,8 +2150,6 @@
     # reset default fh to previous value
     select($old_fh) if defined $old_fh;
   
  -
  -
   =head1 Apache::print() and CORE::print()
   
   Under mod_perl C<CORE::print()> will redirect its data to
  @@ -2359,8 +2179,6 @@
   
     print(scalar($foo));
   
  -
  -
   =head1 Global Variables Persistence
   
   Since the child process generally doesn't exit before it has serviced
  @@ -2368,7 +2186,7 @@
   from request to request. This means that you must never rely on the
   value of the global variable if it wasn't initialized at the beginning
   of the request processing. See "L<Variables globally, lexically scoped
  -and fully qualified|perl/Variables_Globally_Lexically_Sc>" for more
  +and fully qualified|guide::perl/Variables_Globally_Lexically_Sc>" for more
   info.
   
   You should avoid using global variables unless it's impossible without
  @@ -2377,15 +2195,9 @@
   they are used. Use my() scoped variables wherever you can.
   
   You should be especially careful with L<Perl Special
  -Variables|perl/The_Scope_of_the_Special_Perl_Va> which cannot be
  +Variables|guide::perl/The_Scope_of_the_Special_Perl_Va> which cannot be
   lexically scoped.  You have to use local() instead.
   
  -
  -
  -
  -
  -
  -
   =head1 Generating correct HTTP Headers
   
   A HTTP response header consists of at least two fields. HTTP response
  @@ -2538,7 +2350,6 @@
        $r->send_http_header;
    }
   
  -
   Note that you can always use the code in the else part of the above
   example, no matter whether the C<PerlSendHeader> directive is On or
   Off.
  @@ -2689,7 +2500,7 @@
   
   Why can't we use a lexical without hitting the nested subroutine
   effect? Because when we've discussed L<Apache::Registry
  -secrets|porting/Exposing_Apache_Registry_secret> we have seen that the
  +secrets|guide::porting/Exposing_Apache_Registry_secret> we have seen that the
   code is wrapped in a C<handler> routine, effectively turning any
   subroutines within the file a script resides in into nested
   subroutines. Hence we are forced to use a global in this situation.
  @@ -2704,19 +2515,7 @@
   additional headers, such as cookies.
   
   See also L<Correct Headers--A quick guide for mod_perl
  -users|correct_headers/>
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  +users|guide::correct_headers/>
   
   =head1 NPH (Non Parsed Headers) scripts
   
  @@ -2732,13 +2531,6 @@
       PerlSendHeader Off
     </Files>
   
  -
  -
  -
  -
  -
  -
  -
   =head1 BEGIN blocks 
   
   Perl executes C<BEGIN> blocks as soon as possible, at the time of
  @@ -2780,7 +2572,6 @@
   
   =back 
   
  -
   C<BEGIN> blocks in C<Apache::Registry> scripts will be executed, as
   above plus:
   
  @@ -2810,18 +2601,7 @@
   =back
   
   Make sure you read L<Evil things might happen when using
  -PerlFreshRestart|troubleshooting/Evil_things_might_happen_when_us>.
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  +PerlFreshRestart|guide::troubleshooting/Evil_things_might_happen_when_us>.
   
   =head1 END blocks
   
  @@ -2854,7 +2634,7 @@
   used to emulate plain perl's C<END{}> block behavior.
   
   The last paragraph is very important for handling the case of L<'User
  -Pressed the Stop Button'|debug/Handling_the_User_pressed_Stop_>.
  +Pressed the Stop Button'|guide::debug/Handling_the_User_pressed_Stop_>.
   
   If you only want something to run once in the parent on shutdown or
   restart you can use  C<$r-E<gt>register_cleanup()> in the I<startup.pl>.
  @@ -2881,11 +2661,6 @@
   
     % perl -e 'eval qq(CHECK { print "ok\n" })'
   
  -
  -
  -
  -
  -
   =head1 Command Line Switches (-w, -T, etc)
   
   Normally when you run perl from the command line, you have the shell
  @@ -3000,8 +2775,6 @@
   the C<PerlTaintCheck> configuration directive and will otherwise
   ignore it.
   
  -
  -
   =head2 Other switches
   
   Finally, if you still need to set additional perl startup flags
  @@ -3017,17 +2790,7 @@
   [META: verify]
   
   See also
  
-L<Apache::PerlRun|modules/Apache__PerlRun___Run_unaltered_CGI_scripts_under_mod_perl>.
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  
+L<Apache::PerlRun|guide::modules/Apache__PerlRun___Run_unaltered_CGI_scripts_under_mod_perl>.
   
   =head1 The strict pragma
   
  @@ -3050,18 +2813,6 @@
   time.  And, of course, clean scripts will still run under mod_cgi
   (plain CGI)!
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Passing ENV variables to CGI
   
   To pass an environment variable from I<httpd.conf>, add to it:
  @@ -3100,15 +2851,9 @@
       }
     </Perl>
   
  -See also L<PerlSetupEnv|performance/PerlSetupEnv_Off> which can
  +See also L<PerlSetupEnv|guide::performance/PerlSetupEnv_Off> which can
   enable/disable environment variables settings.
   
  -
  -
  -
  -
  -
  -
   =head1 -M and other time() file tests under mod_perl
   
   Under mod_perl, files that have been created after the server's
  @@ -3141,31 +2886,15 @@
   system call, and uses the already available time of the request has
   been started at via C<$r-E<gt>request_time> method.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Apache and syslog
   
   When native syslog support is enabled, the stderr stream will be
   redirected to C</dev/null>!
   
   It has nothing to do with mod_perl (plain Apache does the same). Doug
  -wrote the 
L<Apache::LogSTDERR|porting/CGI_to_mod_perl_Porting__mod_perl_Coding_guidelines__>
 module to work
  +wrote the 
L<Apache::LogSTDERR|guide::porting/CGI_to_mod_perl_Porting__mod_perl_Coding_guidelines__>
 module to work
   around this.
   
  -
  -
  -
   =head1 File tests operators
   
   Remember that with mod_perl you might get negative times when you use
  @@ -3184,11 +2913,6 @@
   META: Above is near duplicate of "-M and other time() file tests under 
mod_perl"
   make a link instead
   
  -
  -
  -
  -
  -
   =head1 Filehandlers and locks leakages
   
   META: duplication at 
  @@ -3211,7 +2935,7 @@
   Even if you do call close(), if for some reason the interpreter
   was stopped before the C<close()> call, the leakage will still happen.
   See for example L<Handling the 'User pressed Stop button'
  -case|debug/Handling_the_User_pressed_Stop_>.  After a long run without
  +case|guide::debug/Handling_the_User_pressed_Stop_>.  After a long run without
   restarting Apache your machine might run out of file descriptors, and
   worse, files might be left locked and unusable.
   
  @@ -3252,25 +2976,13 @@
   
     open my $fh, $filename or die $! ;
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Code has been changed, but it seems the script is running the old code
   
   Files pulled in via B<use> or B<require> statements are not
   automatically reloaded when they change on disk. See L<Reloading Modules
  -and Required Files|porting/Reloading_Modules_and_Required_F> for more
  +and Required Files|guide::porting/Reloading_Modules_and_Required_F> for more
   info.
   
  -
  -
  -
   =head1 The Script Is Too Dirty, But It Does The Job And I Cannot Afford To 
Rewrite It.
   
   You still can win from using mod_perl. 
  @@ -3291,7 +3003,7 @@
       PerlSendHeader On
     </Location>
   
  -See L<Apache::PerlRun--a closer look|porting/Apache__PerlRun__a_closer_look>
  +See L<Apache::PerlRun--a closer 
look|guide::porting/Apache__PerlRun__a_closer_look>
   
   Another "bad", but workable method is to set C<MaxRequestsPerChild> to
   1, which will force each child to exit after serving only one request.
  @@ -3303,17 +3015,6 @@
   than actually required and the killed one will immediately be replaced
   with a fresh one.  Probably that's not what you want.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Apache::PerlRun--a closer look
   
   C<Apache::PerlRun> gives you the benefit of preloaded Perl and its
  @@ -3370,19 +3071,6 @@
   logs its messages to the I<error_log> file, so you should expect the
   output there and not together with STDOUT.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Sharing variables between processes
   
   META: to be completed
  @@ -3417,9 +3105,6 @@
   
   =back
   
  -
  -
  -
   =head1 Transitioning from Apache::Registry to Apache handlers
   
   Even if you are a CGI script die-hard at some point you might want to
  @@ -3529,7 +3214,6 @@
       return scalar localtime;
     } # end of sub generate_sessionID
   
  -
   The code is very simple. It creates a session if you've pressed the
   I<'Start'> button or deletes it if you've pressed the I<'Stop'>
   button. The session is stored and retrieved using the cookies
  @@ -3555,8 +3239,6 @@
   unique session every time it was called. And it should be secure,
   i.e. users will not be able to forge one and do nasty things.
   
  -
  -
   =head2 Converting into Perl Content Handler
   
   Now let's convert this script into a content handler. There are two
  @@ -3720,7 +3402,6 @@
     }
     1;
   
  -
   and now we have a fully fledged Perl Content Handler.
   
   =head2 Converting to use Apache Perl Modules
  @@ -3730,10 +3411,9 @@
   better performance, mainly because the internals of many of these Perl
   modules are implemented in C, therefore we should get a significant
   improvement in speed. The section "L<TMTOWTDI: Convenience and
  -Performance|performance/TMTOWTDI_Convenience_and_Habit_>"
  +Performance|guide::performance/TMTOWTDI_Convenience_and_Habit_>"
   compares the three approaches.
   
  -
   What we are going to do is to replace C<CGI.pm> and C<CGI::Cookie>
   with C<Apache::Request> and C<Apache::Cookie> respectively.  The two
   modules are written in C with the XS interface to Perl, which makes
  @@ -3903,15 +3583,11 @@
   the file I</home/httpd/perl/Test/Cookie2.pm> since we have called this
   package C<Test::Cookie2>.
   
  -
   =head2 Conclusion
   
   If your took care to write the original plain CGI script's code in a
   clean and modular way, you can see that the transition is a very
   simple one and doesn't take a lot of effort. Almost no code was
   modified.
  -
  -
  -
   
   =cut
  
  
  
  1.4       +15 -64    modperl-docs/src/docs/1.0/guide/scenario.pod
  
  Index: scenario.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/scenario.pod,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- scenario.pod      21 Feb 2002 09:08:38 -0000      1.3
  +++ scenario.pod      27 Feb 2002 18:03:36 -0000      1.4
  @@ -86,7 +86,7 @@
   
   There are many additional optional parameters.  You can find some of
   them later in this section and in the L<Server
  -Configuration|config/mod_perl_Configuration> section.
  +Configuration|guide::config/mod_perl_Configuration> section.
   
   While running C<perl Makefile.PL ...> the process will check for
   prerequisites and tell you if something is missing.  If you are
  @@ -122,7 +122,6 @@
   
   Now the build and installation processes are complete.
   
  -
   =head2 Configuration
   
   First, a simple configuration.  Configure Apache as you usually would
  @@ -239,14 +238,13 @@
   degree of sloppiness they may need anything from minor tweaking to a
   major rewrite to make them work properly.  (See L<Sometimes My Script
   Works, Sometimes It Does 
  -Not|debug/Sometimes_My_Script_Works__Sometimes_It_Does_Not> )
  +Not|guide::debug/Sometimes_My_Script_Works__Sometimes_It_Does_Not> )
   
   The above setup is very basic, but as with Perl, you can start to
   benefit from mod_perl from the very first moment you try it.  As you
   become more familiar with mod_perl you will want to start writing
   Apache handlers and make more use of its power.
   
  -
   =head1 One Plain and One mod_perl enabled Apache Servers
   
   Since we are going to run two Apache servers we will need two complete
  @@ -384,7 +382,6 @@
   configuration and the manual executable name adjustment as described
   at the beginning of this section .
   
  -
   =head3 Building the httpd_perl Server
   
   Now we proceed with the sources configuration and installation of the
  @@ -429,7 +426,7 @@
   [META:
   It's very important to use the same compiler you build the perl with.
   See the section 'L<What Compiler Should Be Used to Build
  -mod_perl|install/What_Compiler_Should_Be_Used_to_Build_mod_perl_>' 
  +mod_perl|guide::install/What_Compiler_Should_Be_Used_to_Build_mod_perl_>' 
   for more information.
   
   [META: --- Hmm, what's the option that overrides the compiler when
  @@ -458,12 +455,12 @@
   
   If C<make test> fails, look into
   I</usr/src/httpd_perl/mod_perl-x.xx/t/logs> and read the error_log
  -file.  Also see L<make test fails|install/make_test_fails>.
  +file.  Also see L<make test fails|guide::install/make_test_fails>.
   
   While doing C<perl Makefile.PL ...> mod_perl might complain by warning
   you about a missing library C<libgdbm>. This is a crucial warning. See
   L<Missing or Misconfigured
  -libgdbm.so|install/Missing_or_Misconfigured_libgdbm_so> for more info.
  +libgdbm.so|guide::install/Missing_or_Misconfigured_libgdbm_so> for more info.
   
   Now rename C<httpd> to C<httpd_perl>:
   
  @@ -475,11 +472,6 @@
     % perl -p -i -e 's|bin/httpd|bin/httpd_perl|' \
       /usr/local/httpd_perl/bin/apachectl
   
  -
  -
  -
  -
  -
   =head2 Configuration of the servers
   
   Now when we have completed the building process, the last stage before
  @@ -499,7 +491,6 @@
   
     /usr/local/httpd_docs/bin/apachectl start
   
  -
   =head3 Basic httpd_perl Server Configuration
   
   Edit the I</usr/local/httpd_perl/conf/httpd.conf>.  As with the
  @@ -525,12 +516,12 @@
   server like Squid.
   
   For more details see L<Publishing Port Numbers other than
  -80|config/Publishing_Port_Numbers_other_than_80>, L<Running One Webserver
  +80|guide::config/Publishing_Port_Numbers_other_than_80>, L<Running One 
Webserver
   and Squid in httpd Accelerator
  -Mode|scenario/Running_One_Webserver_and_Squid_in_httpd_Accelerator_Mode>,
  
+Mode|guide::scenario/Running_One_Webserver_and_Squid_in_httpd_Accelerator_Mode>,
   L<Running Two Webservers and Squid in httpd Accelerator
  -Mode|scenario/Running_Two_webservers_and_Squid_in_httpd_Accelerator_Mode>
  -and L<Using mod_proxy|scenario/mod_proxy>.
  
+Mode|guide::scenario/Running_Two_webservers_and_Squid_in_httpd_Accelerator_Mode>
  +and L<Using mod_proxy|guide::scenario/mod_proxy>.
   
   Now we proceed to the mod_perl specific directives.  It will be a good
   idea to add them all at the end of C<httpd.conf>, since you are going
  @@ -577,18 +568,17 @@
   nph (non-parsed-headers) scripts.
   
   This is only a very basic configuration.  The L<Server
  -Configuration|config/> section covers the rest of the details.
  +Configuration|guide::config/> section covers the rest of the details.
   
   Now start the server with:
   
     /usr/local/httpd_perl/bin/apachectl start
   
  -
   =head1 Running Two webservers and Squid in httpd Accelerator Mode
   
   While I have detailed the mod_perl server installation, you are on
   your own with installing the Squid server (See L<Getting
  -Helped|help/> for more details).
  +Helped|guide::help/> for more details).
   I run Linux, so I downloaded the RPM package, installed it, configured
   the I</etc/squid/squid.conf>, fired off the server and all was set.
   
  @@ -709,7 +699,7 @@
   
   But this is only possible if you set the headers correctly. Refer to
   the chapter L<Correct Headers - A quick guide for mod_perl
  -users|correct_headers/> to learn more about generating the proper
  +users|guide::correct_headers/> to learn more about generating the proper
   caching headers under mod_perl. In case where only the scripts under
   I</perl/caching-unfriendly> are not I<caching friendly> fix the above
   setting to be:
  @@ -720,7 +710,7 @@
   But if you are lazy, or just have too many things to deal with, you
   can leave the above directives the way we described.  Just keep in
   mind that one day you will want to reread this section and L<the
  -headers generation tutorial|correct_headers/> to squeeze even more
  +headers generation tutorial|guide::correct_headers/> to squeeze even more
   power from your servers without investing money in more memory and
   better hardware.
   
  @@ -1035,9 +1025,6 @@
     
     cachemgr_passwd disable shutdown
   
  -
  -
  -
   =head1 mod_proxy
   
   mod_proxy implements a proxy/cache for Apache.  It implements proxying
  @@ -1127,8 +1114,6 @@
   directives.) Do not use the C<ProxyRequests> directive on your
   reverse proxy servers.
   
  -
  -
   =head2 Buffering Feature
   
   In addition to correcting the URI on its way back from the back-end
  @@ -1199,7 +1184,6 @@
   seems to be the best solution for these specific scripts whose major
   function is receiving large amounts of upstream data.
   
  -
   [META: check this: --]
   
   Of course just like mod_perl, mod_proxy writes the data it
  @@ -1230,7 +1214,6 @@
   returns the success of data transmission. (The last, is the part I am
   not sure on)
   
  -
   [/META]
   
   Unfortunately you cannot set the socket buffer size as large as you
  @@ -1326,7 +1309,6 @@
   When you tell the kernel to use bigger sockets you can set bigger
   values for I<ProxyReceiveBufferSize>. e.g. 1048576 (1MB).
   
  -
   =head3 Hacking the Code
   
   Some folks have patched the Apache's 1.3.x source code to make the
  @@ -1358,8 +1340,6 @@
   C<ProxySocketBufferSize>.  This would also remove some of the
   confusion about what it actually does.
   
  -
  -
   =head2 Caching Feature
   
   META: complete the conf details
  @@ -1369,8 +1349,6 @@
   the Apache documentation for more details on the configuration of this
   capability.
   
  -
  -
   =head2 Build Process
   
   To build mod_proxy into Apache just add I<--enable-module=proxy>
  @@ -1378,8 +1356,6 @@
   the mod_rewrite capability enable it as well with
   I<--enable-module=rewrite>.
   
  -
  -
   =head1 Front-end Back-end Proxying with Virtual Hosts
   
   This section explains a configuration setup for proxying your back-end
  @@ -1469,7 +1445,7 @@
   the back-end port.
   
   To get the I<real> remote IP addresses from proxy, the
  
-L<My::ProxyRemoteAddr|scenario/Getting_the_Remote_Server_IP_in_the_Back_end_server_in_the_Proxy_Setup>
  
+L<My::ProxyRemoteAddr|guide::scenario/Getting_the_Remote_Server_IP_in_the_Back_end_server_in_the_Proxy_Setup>
   handler is used based on the C<mod_proxy_add_forward> Apache module.
   Prior to mod_perl 1.22 this setting must have been set per-virtual
   host, since it wasn't inherited by the virtual hosts.
  @@ -1488,13 +1464,12 @@
   by the front-end as we did in the previous example to handle files
   with the extensions I<.gif>, I<.jpg>, I<.png> and I<.txt> internally.
   
  -
   =head1 Getting the Remote Server IP in the Back-end server in the Proxy Setup
   
   Ask Bjoern Hansen has written the C<mod_proxy_add_forward> module for
   Apache.  It sets the C<X-Forwarded-For> field when doing a
   C<ProxyPass>, similar to what Squid can do.  Its location is specified
  -in the L<download|download/mod_proxy_add_forward> section.
  +in the L<download|guide::download/mod_proxy_add_forward> section.
   
   Basically, this module adds an extra HTTP header to proxying requests.
   You can access that header in the mod_perl-enabled server, and set the
  @@ -1516,7 +1491,6 @@
   I<--enable-module=proxy_add_forward> enables this module as you have
   guessed already.
   
  -
   =head2 Usage
   
   If you are using C<Apache::Registry> or C<Apache::PerlRun> modules
  @@ -1548,7 +1522,6 @@
   Otherwise if you write your own mod_perl content handler, you can
   retrieve it directly in your code using a similar code.
   
  -
   =head2 Security
   
   Different sites have different needs.  If you use the header to set
  @@ -1652,11 +1625,6 @@
   the back-end server, and the remote IP appears in the back-end
   server's I<access_log> file.
   
  -
  -
  -
  -
  -
   =head1 HTTP Authentication With Two Servers Plus a Proxy
   
   Assuming that you have a setup of one "front-end" server, which
  @@ -1678,19 +1646,6 @@
   the SSL requests. So if your machine is secured from inside, your
   back-end server can do secure transactions.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 mod_rewrite Examples
   
   In the mod_proxy + mod_perl servers scenario, C<ProxyPass> was used to
  @@ -1777,10 +1732,6 @@
     RewriteRule ^/(images|style) - [L]
     RewriteRule ^/(.*) http://www.example.com:8080/$1 [P]
     ProxyPassReverse / http://www.example.com/
  -
  -
  -
  -
   
   =head1 Caching in mod_proxy
   
  
  
  
  1.2       +2 -7      modperl-docs/src/docs/1.0/guide/security.pod
  
  Index: security.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/security.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- security.pod      6 Jan 2002 16:54:56 -0000       1.1
  +++ security.pod      27 Feb 2002 18:03:36 -0000      1.2
  @@ -29,9 +29,9 @@
   When you want to make sure that a user is who he claims to be, you
   generally ask her for a username and a password. Once you have both,
   you can check them against your L<database of username/password
  -pairs|databases/>.  If they match, the user has passed the
  +pairs|guide::databases/>.  If they match, the user has passed the
   B<Authentication> stage. From now on if you keep the
  
-L<session|modules/Apache__Session___Maintain_session_state_across_HTTP_requests>
 open all you need to
  
+L<session|guide::modules/Apache__Session___Maintain_session_state_across_HTTP_requests>
 open all you need to
   do is to remember the username.
   
   =item Authorization
  @@ -46,7 +46,6 @@
   session_ids can be spoofed (forged), and that is why you should not do
   B<Authorization> without B<Authentication>.
   
  -
   =back
   
   Actually you've been familiar with both these concepts for a while.
  @@ -58,7 +57,6 @@
   checks the permissions on this file (B<Authorization>). You may hear
   about B<Access control> which is another name for the same thing.
   
  -
   =head1 Illustrated Security Scenarios
   
   I am going to present some real world security requirements and their
  @@ -167,7 +165,6 @@
   to OK, and the Authentication stage will ask the user for a login and
   password.
   
  -
   =head1 Authentication code snippets
   
   =head2 Forcing re-authentication
  @@ -191,7 +188,6 @@
   
   This may not work!  The browser's behaviour is in no way guaranteed.
   
  -
   =head2 OK, AUTH_REQUIRED and FORBIDDEN in Authentication handlers
   
   When your authentication handler returns OK, it means that user has
  @@ -233,7 +229,6 @@
     $r->custom_response(SERVER_ERROR, "/errors/suspended_account.html");
      
     return FORBIDDEN if $suspended;
  -
   
   =head1 Apache:Auth* modules
   
  
  
  
  1.3       +1 -124    modperl-docs/src/docs/1.0/guide/snippets.pod
  
  Index: snippets.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/snippets.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- snippets.pod      4 Feb 2002 13:50:25 -0000       1.2
  +++ snippets.pod      27 Feb 2002 18:03:36 -0000      1.3
  @@ -2,7 +2,6 @@
   
   Code Snippets
   
  -
   =head1 Redirecting Errors to the Client Instead of error_log
   
   Many error conditions result in an I<exception> (or I<signal> -- same
  @@ -22,7 +21,7 @@
   information to the client instead of to I<error_log> you have to take
   the responsibility yourself, by writing your own exception handler to
   implement this behaviour.  See the section "L<Exception Handling for
  -mod_perl|perl/Exception_Handling_for_mod_perl>" for more information.
  +mod_perl|guide::perl/Exception_Handling_for_mod_perl>" for more information.
   
   The code examples below can be useful with your own exception handlers 
   as well as with the default handlers.
  @@ -190,10 +189,6 @@
   Please note that as of version 2.49, CGI.pm provides the cgi_error()
   method to print the errors and won't die() unless you want it to.
   
  -
  -
  -
  -
   =head1 Reusing Data from POST request
   
   What happens if you need to access the POSTed data more than once, say
  @@ -256,10 +251,6 @@
   C<Apache::Request>-E<gt>instance() within a single request you always
   get the same C<Apache::Request> object back.
   
  -
  -
  -
  -
   =head1 Redirecting POST Requests
   
   Under mod_cgi it's not easy to redirect POST requests to some other
  @@ -279,7 +270,6 @@
   
   Of course that last line can be any other kind of redirect.
   
  -
   =head1 Redirecting While Maintaining Environment Variables
   
   Let's say you have a module that sets some environment variables.
  @@ -293,18 +283,6 @@
   subprocess_env(). The only nuance is that the C<%ENV> keys will be
   prefixed with C<REDIRECT_>.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Terminating a Child Process on Request Completion
   
   If you want to terminate the child process serving the current
  @@ -315,8 +293,6 @@
   Apache won't actually terminate the child until everything it needs to 
   do is done and the connection is closed.
   
  -
  -
   =head1 Setting Content-type and Content-encoding headers in non-OK responses
   
   You cannot set I<Content-type> and I<Content-encoding> headers in
  @@ -325,7 +301,6 @@
   
     r->content_type = "text/html; charset=iso-8859-1";
   
  -
   =head1 More on Relative Paths
   
   Many people use relative paths for C<require>, C<use>, etc., and when
  @@ -363,16 +338,6 @@
   will use the cached value, which would be probably incorrect if they
   reside in different directories.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Watching the error_log File Without Telneting to the Server
   
   I wrote this script a long time ago, when I had to debug my CGI
  @@ -469,10 +434,6 @@
           : $context;
     }
   
  -
  -
  -
  -
   =head1 Accessing Variables from the Caller's Package
   
   Sometimes you want to access variables from the caller's
  @@ -484,10 +445,6 @@
       print qq[$caller --- ${"${caller}::var"}];
     }
   
  -
  -
  -
  -
   =head1 Handling Cookies
   
   Unless you use some well known module like C<CGI::Cookie> or
  @@ -520,12 +477,6 @@
       }
           
   
  -
  -
  -
  -
  -
  -
   =head1 Sending Multiple Cookies with the Perl API
   
   Given that you have prepared your cookies in C<@cookies>, the
  @@ -535,8 +486,6 @@
      $r->headers_out->add( 'Set-Cookie' => $_ );
     }
   
  -
  -
   =head1 Sending Cookies in REDIRECT Response
   
   You should use err_headers_out() and not headers_out() when you want
  @@ -551,9 +500,6 @@
     $r->send_http_header;
     return OK;
   
  -
  -
  -
   =head1 Passing and Preserving Custom Data Structures Between Handlers
   
   Let's say that you wrote a few handlers to process a request, and they
  @@ -578,12 +524,6 @@
   
   The stored information will be destroyed at the end of the request.
   
  -
  -
  -
  -
  -
  -
   =head1 Passing Notes Between mod_perl and other (non-Perl) Apache Modules
   
   The notes() method can be used to make various Apache modules talk to
  @@ -639,7 +579,6 @@
   
     $r->main->notes('answer');
   
  -
   =head1 Passing Environment Variables Between Handlers
   
   This is a simple example of passing environment variables between
  @@ -668,7 +607,6 @@
   Adding C<%{TICKET}e> and C<%{TICKET}n> to the C<LogFormat> for
   access_log works fine too.
   
  -
   =head1 Verifying Whether A Request Was Received Over An SSL Connection
   
   Just like C<$ENV{MODPERL}> is checked to see whether the code is run
  @@ -692,7 +630,6 @@
   but it's not one hundred percent certain unless you control the server
   and you know that you run a secure server on the port 443.
   
  -
   =head1 CGI::params in the mod_perl-ish Way
   
   You can retrieve the request parameters in a similar to C<CGI::params>
  @@ -706,12 +643,6 @@
   Also take a look at C<Apache::Request> which has the same API as
   C<CGI.pm> for extracting and setting request parameters.
   
  -
  -
  -
  -
  -
  -
   =head1 Subclassing Apache::Request
   
   To subclass a package you simply modify @ISA, for example:
  @@ -748,15 +679,6 @@
     1;
     __END__
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Sending Email from mod_perl
   
   There is nothing special about sending email from mod_perl, it's just
  @@ -846,13 +768,6 @@
     
     } #  end of sub send_mail
   
  -
  -
  -
  -
  -
  -
  -
   =head1 A Simple Handler To Print The Environment Variables
   
   The code:
  @@ -880,11 +795,6 @@
   
     http://localhost/env
   
  -
  -
  -
  -
  -
   =head1 mod_rewrite in Perl
   
   We can easily implement everything mod_rewrite does in Perl. We do
  @@ -926,8 +836,6 @@
   C<$uri> will hold I<http://www2.example.com/news/> and that's where
   the request will be redirected.
   
  -
  -
   =head1 URI Rewrite in PerlTransHandler 
   
   Suppose that before a content handler is invoked you want to make this
  @@ -967,7 +875,6 @@
   separate slot, so you cannot just push them into the original
   URI. Therefore the args() method should be used.
   
  -
   =head1 Setting PerlHandler Based on MIME Type
   
   It's very easy to implement a dispatching module based on the MIME
  @@ -1005,10 +912,6 @@
   the end we return C<DECLINED> so some other fixup handler could take
   over.
   
  -
  -
  -
  -
   =head1 SSI and Embperl -- Doing Both
   
   This handler lets you use both SSI and Embperl in the same request:
  @@ -1021,7 +924,6 @@
        PerlHandler Apache::EmbperlFilter Apache::SSI
     </FilesMatch>
   
  -
     package Apache::EmbperlFilter;
     
     use Apache::Util qw(parsedate);
  @@ -1066,14 +968,6 @@
     1;
     __END__
   
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Getting the Front-end Server's Name in the Back-end Server
   
   Assume that you have more than one front-end server, and you want to
  @@ -1096,8 +990,6 @@
   sort, but if query string is good enough for you, then this should
   work really nicely.
   
  -
  -
   =head1 Authentication Snippets
   
   Getting the authenticated username: C<$r-E<gt>connection-E<gt>user()>,
  @@ -1112,7 +1004,6 @@
     
     my $user = $r->connection->user;
   
  -
   =head1 Emulating the Authentication Mechanism
   
   You can provide your own mechanism to authenticate users, instead of
  @@ -1125,10 +1016,6 @@
   that you can have your "username" passed as if it was transmitted to 
   Apache through HTTP authentication.
   
  -
  -
  -
  -
   =head1 An example of using Apache::Session::DBI with cookies
   
   META: should be annotated at some point. (an example was posted to the
  @@ -1172,7 +1059,6 @@
     }
     
   
  -
   =head1 Using DESTROY to Finalize Output
   
   Well, as always with Perl -- TMTOWTDI (There's More Than One Way To Do
  @@ -1307,8 +1193,6 @@
   After all, it's a little awkward to need a C<LogHandler> to clean up
   after ourselves....
   
  -
  -
   =head1 Setting Environment Variables For Scripts Called From CGI.
   
   Perl uses C<sh()> for its C<system()> and C<open()> calls.  So if you
  @@ -1337,8 +1221,6 @@
   containing a subroutine which you can then call directly from your
   mod_perl script.
   
  -
  -
   =head1 Mysql Backup and Restore Scripts
   
   This is somewhat off-topic, but since many of us use mysql or some
  @@ -1366,7 +1248,6 @@
   =code mysql-3.22.30+_backup.pl This is the code modified to work with
   mysql-3.22.30+ 
   
  -
   You might need to change the executable paths according to your
   system.  List the names of the databases you want to backup using
   the C<db_names> array.
  @@ -1397,9 +1278,5 @@
   that can make an atomic snapshot of a database. (by Tim Bunce) So you
   may consider using it instead.
   
  -
   =cut
  -
  -
  -
   
  
  
  
  1.3       +26 -30    modperl-docs/src/docs/1.0/guide/start.pod
  
  Index: start.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/start.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- start.pod 4 Feb 2002 13:50:25 -0000       1.2
  +++ start.pod 27 Feb 2002 18:03:36 -0000      1.3
  @@ -8,36 +8,36 @@
   overall picture of this wonderful technology. There is more than one
   way to use a mod_perl-enabled webserver. You have to decide which
   mod_perl scheme you want to use. L<Picking the Right
  -Strategy|strategy/> chapter presents various approaches and discusses
  +Strategy|guide::strategy/> chapter presents various approaches and discusses
   their pros and cons.
   
   Once you know what best fits your requirements, you should proceed
  -to L<Real World Scenarios Implementation|scenario/>.  This chapter
  +to L<Real World Scenarios Implementation|guide::scenario/>.  This chapter
   provides very detailed scenarios of the schemes discussed in the
  -L<Choosing the Right Strategy|strategy/> chapter.
  +L<Choosing the Right Strategy|guide::strategy/> chapter.
   
  -The L<Server Installation|install/> chapter follows on from the L<Real
  -World Scenarios Implementation|scenario/> chapter by providing more
  +The L<Server Installation|guide::install/> chapter follows on from the L<Real
  +World Scenarios Implementation|guide::scenario/> chapter by providing more
   in-depth installation details.
   
  -The L<Server Configuration|config/> chapter adds to the basic
  +The L<Server Configuration|guide::config/> chapter adds to the basic
   configurations presented in the L<Real World Scenarios
  -Implementation|scenario/> chapter with extended configurations and
  +Implementation|guide::scenario/> chapter with extended configurations and
   various configuration examples.
   
  -The L<Frequent mod_perl problems|frequent/> chapter is a collection of
  +The L<Frequent mod_perl problems|guide::frequent/> chapter is a collection of
   links to other chapters. It is an attempt to stress some of the most
   frequently encountered mod_perl problems. So this is the first place
   you should check if you have got a problem.
   
   Probably the most important chapter is L<CGI to mod_perl
  -Porting. mod_perl Coding guidelines|porting/>. It explains the
  +Porting. mod_perl Coding guidelines|guide::porting/>. It explains the
   differences between scripts running under mod_cgi and mod_perl, and
   what should be done in order to make existing scripts run under
   mod_perl. Along with the porting notes it provides guidelines for
   proper mod_perl programming.
   
  -L<Performance. Benchmarks|performance/> is the biggest and a very
  +L<Performance. Benchmarks|guide::performance/> is the biggest and a very
   important chapter. It explains the details of tuning mod_perl and the
   scripts running under it, so you can squeeze every ounce of the power
   from your server. A large part of the chapter is benchmarks, the
  @@ -54,37 +54,37 @@
   all the intimate details of what is happening to your scripts.  But
   the problem is that it speaks a secret language. To learn the alphabet
   and the grammar of this language, refer to the chapter L<Warnings and
  -Errors: Where and Why|troubleshooting/>.
  +Errors: Where and Why|guide::troubleshooting/>.
   
  -L<Protecting Your Site|security/> - All about security.
  +L<Protecting Your Site|guide::security/> - All about security.
   
   If you are into driving relational databases with your cgi scripts,
  -the L<mod_perl and Relational Databases|databases/> chapter will tell
  +the L<mod_perl and Relational Databases|guide::databases/> chapter will tell
   you all about the database-related goodies mod_perl has prepared for
   you.
   
   If you are using good old dbm files for your databases, the L<mod_perl
  -and dbm files|dbm/> chapter explains how to utilize them better under
  +and dbm files|guide::dbm/> chapter explains how to utilize them better under
   mod_perl.
   
   More and more Internet Service Providers (ISPs) are evaluating the
   possibility of providing mod_perl services to their users. Is this
   possible? Is it secure? Will it work?  What resources does it take?
  -The L<mod_perl for ISPs. mod_perl and Virtual Hosts|multiuser/>
  +The L<mod_perl for ISPs. mod_perl and Virtual Hosts|guide::multiuser/>
   chapter answers all these questions. If you want to run a mod_perl-
   enabled server, but do not have root access, read this chapter as
   well, either to learn how to do it yourself, or maybe to persuade your
   ISP to provide this service.
   
   If you have to administer your Apache mod_perl server the
  -L<Controlling and Monitoring the Server|control/> chapter is for
  +L<Controlling and Monitoring the Server|guide::control/> chapter is for
   you. Among the topics are: server restarting and monitoring
   techniques, preventing the server from eating up all your disk space
   in a matter of minutes, and more.
   
   (META: fix this)
   The L<mod_perl Status. Peeking into the Server's Perl
  -Innards|config/mod_perl_Configuration> chapter shows you the ways you
  +Innards|guide::config/mod_perl_Configuration> chapter shows you the ways you
   can peek at what is going on in a mod_perl-enabled server while it is
   running. Like looking at the value of some global variable, what
   database connections are open, looking up what modules are loaded and
  @@ -95,16 +95,16 @@
   flag and debug it. Is it possible to do the same under mod_perl? After
   all you cannot debug every CGI script by executing it from the command
   line: some scripts will not run from the command line. The L<Debugging
  -mod_perl|debug/> chapter proves debugging under mod_perl is possible.
  +mod_perl|guide::debug/> chapter proves debugging under mod_perl is possible.
   
   Sometimes browsers that interact with our servers have bugs, which
   cause big headaches for CGI developers. Coping with these bugs 
   is discussed in the L<Workarounds for some known bugs in
  -browsers|browserbugs/> chapter.
  +browsers|guide::browserbugs/> chapter.
   
   Many modules were written to extend mod_perl's core
   functionality. Some important modules are covered in the L<Apache::*
  -modules|modules/> chapter.
  +modules|guide::modules/> chapter.
   
   Some folks decide to go with mod_perl even though they are not
   experienced Perl programmers. mod_perl is a demanding environment
  @@ -113,31 +113,27 @@
   barrier; Perl comes with copious and high quality on-line
   documentation and there are many Perl books available which will get
   you up to speed. Get a good Perl book and start reading. The L<Perl
  -Reference|perl/> chapter gives some basic, mod_perl specific Perl
  +Reference|guide::perl/> chapter gives some basic, mod_perl specific Perl
   lessons, delivering the knowledge without which you cannot start to
   program mod_perl scripts.
   
  -The L<Code Snippets|snippets/> chapter is just a collection of code
  +The L<Code Snippets|guide::snippets/> chapter is just a collection of code
   snippets I have found useful while writing the scripts.
   
  -The L<Choosing an Operating System and Hardware|hardware/> chapter
  +The L<Choosing an Operating System and Hardware|guide::hardware/> chapter
   gives you an idea on how to choose the software and hardware for the
   webserver.
   
  -The L<mod_perl Advocacy|advocacy/> tries to make it easier to advocate
  +The L<mod_perl Advocacy|guide::advocacy/> tries to make it easier to advocate
   mod_perl around the world.
   
  -The L<Getting Help and Further Learning|help/> chapter refers you to
  +The L<Getting Help and Further Learning|guide::help/> chapter refers you to
   other related information resources, like learning Perl programming
   and SQL, understanding security, building databases, and more.
   
  -L<Appendix A: Downloading software and documentation|download/>
  +L<Appendix A: Downloading software and documentation|guide::download/>
   includes pointers to the software that was explained and/or mentioned
   in this guide.
   
   =cut
  -
  -
  -
  -
   
  
  
  
  1.2       +14 -72    modperl-docs/src/docs/1.0/guide/strategy.pod
  
  Index: strategy.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/strategy.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- strategy.pod      6 Jan 2002 16:54:56 -0000       1.1
  +++ strategy.pod      27 Feb 2002 18:03:36 -0000      1.2
  @@ -38,11 +38,6 @@
   
   =back
   
  -
  -
  -
  -
  -
   =head1 mod_perl Deployment Overview
   
   There are several different ways to build, configure and deploy your
  @@ -115,12 +110,10 @@
   The DSO module (C<mod_so>) adds size and complexity to your binaries.
   
   Refer to the section L<"Pros and Cons of Building mod_perl as
  -DSO|install/Pros_and_Cons_of_Building_mod_pe"> for more information.
  +DSO|guide::install/Pros_and_Cons_of_Building_mod_pe"> for more information.
   
   Build details: L<Build mod_perl as DSO inside Apache source tree via
  -APACI|install/Build_mod_perl_as_a_DSO_inside_t>
  -
  -
  +APACI|guide::install/Build_mod_perl_as_a_DSO_inside_t>
   
   =item 4
   
  @@ -130,18 +123,11 @@
   
   =back
   
  -
  -
  -
  -
  -
  -
  -
   =head1 Alternative architectures for running one and two servers
   
   The next part of this chapter discusses the pros and the cons of each
   of these presented configurations.  L<Real World Scenarios
  -Implementation|scenario/> describes the implementation techniques of
  +Implementation|guide::scenario/> describes the implementation techniques of
   these schemes.
   
   We will look at the following installations:
  @@ -158,7 +144,6 @@
   
   =back
   
  -
   =head2 Standalone mod_perl Enabled Apache Server
   
   The first approach is to implement a straightforward mod_perl
  @@ -248,11 +233,9 @@
   for you!
   
   For implementation notes, see the "L<One Plain and One mod_perl
  -enabled Apache Servers|scenario/One_Plain_and_One_mod_perl_enabl>"
  +enabled Apache Servers|guide::scenario/One_Plain_and_One_mod_perl_enabl>"
   section in the implementations chapter.
   
  -
  -
   =head2 One Plain Apache and One mod_perl-enabled Apache Servers
   
   As I have mentioned before, when running scripts under mod_perl you
  @@ -310,8 +293,7 @@
   hide the internal port implementations, so the client sees only one
   server running on port C<80>. (See L<Publishing Port Numbers other
   than
  -80|config/Publishing_Port_Numbers_other_th>)
  -
  +80|guide::config/Publishing_Port_Numbers_other_th>)
   
   The disadvantages:
   
  @@ -355,10 +337,10 @@
   
   Before you go on with this solution you really want to look at the
   L<Adding a Proxy Server in http Accelerator
  -Mode|strategy/Adding_a_Proxy_Server_in_http_Ac> section.
  +Mode|guide::strategy/Adding_a_Proxy_Server_in_http_Ac> section.
   
   For implementation notes see the "L<One Plain and One mod_perl enabled
  -Apache Servers|scenario/One_Plain_and_One_mod_perl_enabl>" section in
  +Apache Servers|guide::scenario/One_Plain_and_One_mod_perl_enabl>" section in
   implementations chapter.
   
   =head2 One light non-Apache and One mod_perl enabled Apache Servers
  @@ -370,7 +352,6 @@
   since it is very simple and uses almost no memory (260K) and does not
   spawn child processes.
   
  -
   The Advantages:
   
   =over 4
  @@ -400,7 +381,6 @@
   
   =back
   
  -
   The Disadvantages:
   
   =over 4
  @@ -412,7 +392,6 @@
   
   =back
   
  -
   Another interesting choice is a kHTTPd webserver for Linux. kHTTPd is
   different from other webservers in that it runs from within the
   Linux-kernel as a module (device-driver).  kHTTPd handles only static
  @@ -422,8 +401,6 @@
   
   Also check out the Boa webserver: http://www.boa.org/
   
  -
  -
   =head1 Adding a Proxy Server in http Accelerator Mode
   
   At the beginning there were two servers: one plain Apache server,
  @@ -532,7 +509,7 @@
   and therefore will not be discussed here. There is a plenty of
   information available at the Internet though. For more information see
   L<'High-Availability Linux
  -Project'|download/High_Availability_Linux_Project>)
  +Project'|guide::download/High_Availability_Linux_Project>)
   
   =item *
   
  @@ -601,7 +578,6 @@
   Chapter on page XXX (mod_proxy_add_forward) we present a solution for
   this problem.
   
  -
   =back
   
   Have I succeeded in convincing you that you want a proxy server?
  @@ -612,7 +588,6 @@
   feeding a slow client is gone.  You are probably better off sticking
   with a straight mod_perl server in this case.
   
  -
   =head1 Implementations of Proxy Servers
   
   As of this writing, two proxy implementations are known to be widely
  @@ -698,12 +673,11 @@
   
   For implementation details, see the sections L<Running One Webserver
   and Squid in httpd Accelerator
  -Mode|scenario/Running_One_Webserver_and_Squid_> and L<Running Two
  +Mode|guide::scenario/Running_One_Webserver_and_Squid_> and L<Running Two
   Webservers and Squid in httpd Accelerator
  -Mode|scenario/Running_Two_webservers_and_Squid> in the implementations
  +Mode|guide::scenario/Running_Two_webservers_and_Squid> in the implementations
   chapter.
   
  -
   =head2 Apache's mod_proxy
   
   I do not think the difference in speed between Apache's B<mod_proxy>
  @@ -725,7 +699,6 @@
   already sent, so that it does not change in the client's B<Location>
   window.
   
  -
   The Advantages:
   
   =over 4
  @@ -752,7 +725,7 @@
   =item *
   
   It does mod_perl output buffering like squid does. See the L<Using
  -mod_proxy|scenario/mod_proxy> notes for more details.
  +mod_proxy|guide::scenario/mod_proxy> notes for more details.
   
   =item *
   
  @@ -780,10 +753,9 @@
   =back
   
   For implementation see the "L<Using
  -mod_proxy|scenario/mod_proxy>" section in the 
  +mod_proxy|guide::scenario/mod_proxy>" section in the 
   implementation chapter.
   
  -
   =head2 Closing Lingering Connections with Lingerd
   
   Because of some technical complications in TCP/IP, at the end of each
  @@ -824,9 +796,6 @@
   For more information about C<lingerd> see:
   http://www.iagora.com/about/software/lingerd/
   
  -
  -
  -
   =head1 When One Machine is not Enough for RDBMS Database and mod_perl
   
   Imagine a scenario where you start your business as a small service
  @@ -894,7 +863,6 @@
   some heavy Java applets, but that movie is screened in another
   theater.
   
  -
   =head2 Servers' Requirements
   
   Let's first understand what kind of software the web and database
  @@ -927,7 +895,6 @@
            small amounts (otherwise)
     * CPU: medium to high (according to needs)
   
  -
   =head2 The Problem
   
   With the database and the httpd on the same machine, you have
  @@ -965,7 +932,6 @@
   process is getting 99.9% CPU time, and the kernel scheduler is using
   the remainder.
   
  -
   =head2 The Solution
   
   Adding another machine, which allows a set-up where both the database
  @@ -1002,8 +968,6 @@
   
   =back
   
  -
  -
   =head3 Cons
   
   =over
  @@ -1046,10 +1010,8 @@
   new requests. So the overall machine performance can be worse than it
   was originally when you had just a single machine for both servers.
   
  -
   =back
   
  -
   =head2 Three Machines Model
   
   Since we are talking about using a dedicated machine for each server,
  @@ -1065,10 +1027,6 @@
   the hardware requirement will depend on the number of objects you will
   have to serve and the rate at which they are requested.
   
  -
  -
  -
  -
   =head1 Running More than One mod_perl Server on the Same Machine.
   
   Let's assume that you have two different sets of code which have
  @@ -1094,13 +1052,12 @@
   webserver.
   
   According to the equation developed in the section: "L<Choosing
  -MaxClients|performance/Choosing_MaxClients>":
  +MaxClients|guide::performance/Choosing_MaxClients>":
   
                       Total_RAM - Shared_RAM_per_Child
     MaxClients = ---------------------------------------
                  Max_Process_Size - Shared_RAM_per_Child
   
  -
     MaxClients = (251 - 11)/(17-11) = 40
   
   We see that we can run 40 processes, using the given memory and the
  @@ -1202,15 +1159,13 @@
   the second code set won't work with a new version of a module it was
   relying on.
   
  -
  -
   =head1 SSL functionality and a mod_perl Server
   
   If you need SSL functionality, you can get it by adding the mod_ssl or
   equivalent Apache_ssl to the light front-end server (httpd_docs) or
   the heavy back-end mod_perl server (httpd_perl). ( The configuration
   and installation instructions are located
  -L<here|install/mod_perl_and_mod_ssl___openssl_>.)
  +L<here|guide::install/mod_perl_and_mod_ssl___openssl_>.)
   
   The question is: Is it a good idea to add mod_ssl into the back-end
   mod_perl enabled server?  Given that your internal network is secured,
  @@ -1267,18 +1222,5 @@
   to adapt you'll have more freedom to change what software you're using
   and more control of things. So the choice is in your hand.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =cut
  -
  -
  -
  -
   
  
  
  
  1.2       +0 -2      modperl-docs/src/docs/1.0/guide/style.css
  
  Index: style.css
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/style.css,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- style.css 6 Jan 2002 16:54:56 -0000       1.1
  +++ style.css 27 Feb 2002 18:03:36 -0000      1.2
  @@ -1,10 +1,8 @@
  -
   body {       font-family: helvetica, arial, sans-serif; 
        color: #000000; 
        background-color: #ffffee;
        margin: 1em 4em;
        }       
  -
   
   h1, h2, h3 { color: #005A9C }  
   h1, h2, h3, h4, h5, h6  { 
  
  
  
  1.4       +19 -152   modperl-docs/src/docs/1.0/guide/troubleshooting.pod
  
  Index: troubleshooting.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/guide/troubleshooting.pod,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- troubleshooting.pod       4 Feb 2002 14:16:49 -0000       1.3
  +++ troubleshooting.pod       27 Feb 2002 18:03:36 -0000      1.4
  @@ -7,39 +7,22 @@
   Perl's warnings mode is immensely helpful in detecting possible
   problems.  Make sure you always turn on warnings while you are
   developing code.  See L<The Importance of
  -Warnings|debug/The_Importance_of_Warnings>.
  +Warnings|guide::debug/The_Importance_of_Warnings>.
   
   Enabling C<use diagnostics;> generally helps you to determine the
   source of the problem and how to solve it.  See L<diagnostics
  -pragma|debug/diagnostics_pragma> for more information.
  -
  -
  -
  -
  -
  -
  -
  +pragma|guide::debug/diagnostics_pragma> for more information.
   
   =head1 Building and Installation
   
  -See L<make Troubleshooting|install/make_Troubleshooting> and
  -L<make test Troubleshooting|install/make_test_Troubleshooting>
  -
  -
  -
  -
  -
  -
  -
  -
  -
  +See L<make Troubleshooting|guide::install/make_Troubleshooting> and
  +L<make test Troubleshooting|guide::install/make_test_Troubleshooting>
   
   =head1 Configuration and Startup
   
   This section talks about errors reported when you attempt to start the
   server.
   
  -
   =head2 SegFaults During Startup
   
   You have to build mod_perl with the same compiler as Perl was built
  @@ -117,8 +100,6 @@
   For more information see the I<ld> manpage and an essay on
   C<LD_LIBRARY_PATH>: http://www.visi.com/~barr/ldpath.html
   
  -
  -
   =head2 Invalid command 'PerlHandler'...
   
     Syntax error on line 393 of /etc/httpd/conf/httpd.conf: Invalid
  @@ -137,10 +118,6 @@
   This can also happen when you try to run a non-mod_perl Apache server 
   using the configuration from a mod_perl server.
   
  -
  -
  -
  -
   =head2 RegistryLoader: Translation of uri [...] to filename failed
   
     RegistryLoader: Translation of uri [/home/httpd/perl/test.pl] to filename 
  @@ -155,12 +132,6 @@
   complex cases. C<Apache::RegistryLoader>'s man page shows how to
   handle these cases as well (look for the trans() sub).
   
  -
  -
  -
  -
  -
  -
   =head2 "Apache.pm failed to load!"
   
   If your server startup fails with:
  @@ -171,51 +142,17 @@
   
     PerlModule Apache
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Code Parsing and Compilation
   
  -
  -
  -
  -
  -
  -
  -
   =head2 Value of $x will not stay shared at - line 5
   
   L<my() Scoped Variable in Nested 
  -Subroutines|perl/my___Scoped_Variable_in_Nested_Subroutines>.
  -
  -
  -
  -
  -
  -
  -
  +Subroutines|guide::perl/my___Scoped_Variable_in_Nested_Subroutines>.
   
   =head2 Value of $x may be unavailable at - line 5.
   
   L<my() Scoped Variable in Nested 
  -Subroutines|perl/my___Scoped_Variable_in_Nested_Subroutines>.
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  +Subroutines|guide::perl/my___Scoped_Variable_in_Nested_Subroutines>.
   
   =head2 Can't locate loadable object for module XXX
   
  @@ -227,12 +164,6 @@
   C<EVERYTHING=1> or C<DYNAMIC=1> parameters to enable and build all the
   components of C<Apache::Util>.
   
  -
  -
  -
  -
  -
  -
   =head2 Can't locate object method "get_handlers"...
   
     Can't locate object method "get_handlers" via package "Apache"
  @@ -240,22 +171,12 @@
   You need to rebuild your mod_perl with stacked handlers, i.e.
   C<PERL_STACKED_HANDLERS=1> or more simply C<EVERYTHING=1>.
   
  -
  -
  -
  -
  -
  -
   =head2 Missing right bracket at line ...
   
   Most often you will find that you really do have a syntax error.
   However the other reason might be that a script running under
   C<Apache::Registry> is using C<__DATA__> or C<__END__> tokens. L<Learn
  -why|porting/__END___and___DATA___tokens>.
  -
  -
  -
  -
  +why|guide::porting/__END___and___DATA___tokens>.
   
   =head2  Can't load '.../auto/DBI/DBI.so' for module DBI
   
  @@ -294,17 +215,6 @@
   
   This problem is only known to be caused by installing gnu ld under Solaris.
   
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
  -
   =head1 Runtime
   
   =head2 "exit signal Segmentation fault (11)" with mysql
  @@ -317,8 +227,6 @@
   Solution: re-compile PHP without the built-in MySQL support (you can
   still connect to MySQL).
   
  -
  -
   =head2 foo ... at /dev/null line 0
   
   Under mod_perl you may receive a warning or an error in the
  @@ -328,13 +236,11 @@
   handler, because there is no actual file associated with the handler.
   Therefore C<$0> is set to I</dev/null> and that's what you see.
   
  -
   =head2 Preventing mod_perl Processes From Going Wild
   
   See the sections "L<Non-Scheduled Emergency Log
  -Rotation|control/Non_Scheduled_Emergency_Log_Rotation>" and "L<All RAM
  -Consumed|control/All_RAM_Consumed>"
  -
  +Rotation|guide::control/Non_Scheduled_Emergency_Log_Rotation>" and "L<All RAM
  +Consumed|guide::control/All_RAM_Consumed>"
   
   =head2 Segfaults when using XML::Parser
   
  @@ -347,20 +253,15 @@
   
   Starting from mod_perl version 1.23 this option is disabled by default.
   
  -
   =head2 My CGI/Perl Code Gets Returned as Plain Text Instead of Being 
Executed by the Webserver
   
   See L<My CGI/Perl Code Gets Returned as Plain Text Instead of Being
  -Executed by the 
Webserver|config/My_CGI_Perl_Code_Gets_Returned_as_Plain_Text_Instead_of_Being_Executed_by_the_Webserver>.
  -
  -
  +Executed by the 
Webserver|guide::config/My_CGI_Perl_Code_Gets_Returned_as_Plain_Text_Instead_of_Being_Executed_by_the_Webserver>.
   
   =head2 Incorrect line number reporting in error/warn log messages
   
   See L<Use of uninitialized value at (eval 80) line
  -12.|troubleshooting/Use_of_uninitialized_value_at__eval_80__line_12_>
  -
  -
  +12.|guide::troubleshooting/Use_of_uninitialized_value_at__eval_80__line_12_>
   
   =head2 rwrite returned -1
   
  @@ -370,7 +271,7 @@
   
   There was a bug that reported this debug message regardless of the 
   value of the C<LogLevel> directive.  It was fixed in mod_perl 1.19_01 
  -(L<CVS version|download/mod_perl>).
  +(L<CVS version|guide::download/mod_perl>).
   
   Generally C<LogLevel> is either C<debug> or C<info>.  C<debug> logs
   everything, C<info> is the next level, which doesn't include debug
  @@ -378,18 +279,12 @@
   At the moment there is no way to prevent users from aborting
   connections.
   
  -
  -
   =head2 Can't upgrade that kind of scalar ...
   
   Fixed in mod_perl 1.23.
   
  -
  -
  -
   =head2 caught SIGPIPE in process
   
  -
     [modperl] caught SIGPIPE in process 1234
     [modperl] process 1234 going to Apache::exit with status...
   
  @@ -398,7 +293,7 @@
   'Stop' button.  It gives you an opportunity to do cleanups if the
   script was aborted in the middle of its execution.  See L<Handling the
   'User pressed Stop button'
  -case|debug/Handling_the__User_pressed_Stop_button__case> for more
  +case|guide::debug/Handling_the__User_pressed_Stop_button__case> for more
   info.
   
   If your mod_perl version is earlier than 1.17 you might also get the 
  @@ -410,9 +305,7 @@
     Process 2493 going to Apache::exit with status=-2
   
   You may see this message in mod_perl versions less than 1.17.  See also
  -L<caught SIGPIPE in process|troubleshooting/caught_SIGPIPE_in_process>.
  -
  -
  +L<caught SIGPIPE in 
process|guide::troubleshooting/caught_SIGPIPE_in_process>.
   
   =head2 Global symbol "$foo" requires explicit package name
   
  @@ -475,10 +368,6 @@
   verbose and will tell you more than you might wish to know including
   full source.
   
  -
  -
  -
  -
   =head2 Use of uninitialized value at (eval 80) line 12.
   
   Your code includes some undefined variable that you have used as if it
  @@ -497,14 +386,12 @@
   empty string in our example).
   
   Also read about L<Finding the Line Which Triggered the Error or
  -Warning|debug/Finding_the_Line_Which_Triggered_the_Error_or_Warning>.
  +Warning|guide::debug/Finding_the_Line_Which_Triggered_the_Error_or_Warning>.
   
   =head2 Undefined subroutine &Apache::ROOT::perl::test_2epl::some_function 
called at
   
   See L<Names collisions with Modules and
  -libs|porting/Name_collisions_with_Modules_and_libs>.
  -
  -
  +libs|guide::porting/Name_collisions_with_Modules_and_libs>.
   
   =head2 Callback called exit
   
  @@ -565,12 +452,9 @@
   this way, when the real problem happens, C<Carp::confess> doesn't eat
   memory in the emergency pool (C<$^M>).
   
  -
  -
  -
   =head2 server reached MaxClients setting, consider raising the MaxClients 
setting
   
  -See L<Choosing MaxClients|performance/Choosing_MaxClients>.
  +See L<Choosing MaxClients|guide::performance/Choosing_MaxClients>.
   
   =head2 syntax error at /dev/null line 1, near "line arguments:"
   
  @@ -589,7 +473,6 @@
     # mknod /dev/null c 1 3
     # chmod a+rw /dev/null
   
  -
   =head2 Can't call method "register_cleanup" (CGI.pm)
   
     Can't call method "register_cleanup" on an
  @@ -617,14 +500,8 @@
       my %bar = $cookies->{foo}->value;
     }
   
  -
  -
  -
  -
   =head1 Shutdown and Restart
   
  -
  -
   =head2 Evil things might happen when using PerlFreshRestart
   
   Unfortunately, not all perl modules are robust enough to survive
  @@ -662,9 +539,6 @@
   problem with code within a CGI script, moving all the code into a
   module (or a library) and require()ing it should solve the problem.
   
  -
  -
  -
   =head2 Can't undef active subroutine
   
     Can't undef active subroutine at
  @@ -680,9 +554,6 @@
   with B<$SIG{PIPE}>.  It's also triggered only when you've changed your
   script on disk and mod_perl is trying to reload it.
   
  -
  -
  -
   =head2 [warn] child process 30388 did not exit, sending another SIGHUP
   
   From mod_perl.pod: With Apache versions 1.3.0 and higher, mod_perl
  @@ -697,7 +568,6 @@
   variable to C<-1>. Be aware that `your code' includes any modules you
   use and I<they> may well have C<DESTROY> and C<END> blocks...
   
  -
   =head2 Processes Get Stuck on Graceful Restart
   
   If you see a process stuck in "G" (Gracefully finishing) after a doing
  @@ -706,18 +576,16 @@
   cleanup normally isn't a requirement, you can disable it by setting
   the PERL_DESTRUCT_LEVEL environment variable to -1.  See the section
   "L<Speeding up the Apache Termination and
  -Restart|control/Speeding_up_the_Apache_Termination_and_Restart>" for 
  +Restart|guide::control/Speeding_up_the_Apache_Termination_and_Restart>" for 
   more information.
   
  -
   =head2 httpd keeps on growing after each restart
   
   See the I<HUP Signal> explanation at the section:
  -L<Server Stopping and Restarting|control/Server_Stopping_and_Restarting>
  +L<Server Stopping and 
Restarting|guide::control/Server_Stopping_and_Restarting>
   
   =head1 Windows OS specific notes
   
  -
   =head2 Apache::DBI
   
   C<Apache::DBI> causes the server to exit when it starts up, with:
  @@ -738,6 +606,5 @@
   C<PerlRequire> and C<PerlModule> statements on the first load, so they
   can succeed on the second load.  Without that flag, the second load
   fails.
  -
   
   =cut
  
  
  
  1.3       +3 -3      modperl-docs/src/docs/1.0/win32/win32_binaries.pod
  
  Index: win32_binaries.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/win32/win32_binaries.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- win32_binaries.pod        10 Jan 2002 22:32:08 -0000      1.2
  +++ win32_binaries.pod        27 Feb 2002 18:03:38 -0000      1.3
  @@ -172,9 +172,9 @@
   
   =head1 SEE ALSO
   
  -L<mod_perl>, L<Apache>, http://perl.apache.org/, especially the guide,
  -http://take23.org/, http://httpd.apache.org/, and
  -http://www.activestate.com/.
  +The I<mod_perl> manpage, the L<Apache> manpage,
  +http://perl.apache.org/, especially the guide, http://take23.org/,
  +http://httpd.apache.org/, and http://www.activestate.com/.
   
   =cut
   
  
  
  
  1.3       +2 -2      modperl-docs/src/docs/1.0/win32/win32_compile.pod
  
  Index: win32_compile.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/1.0/win32/win32_compile.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- win32_compile.pod 10 Jan 2002 22:32:08 -0000      1.2
  +++ win32_compile.pod 27 Feb 2002 18:03:38 -0000      1.3
  @@ -169,7 +169,7 @@
   
   =head1 SEE ALSO
   
  -L<mod_perl>, L<Apache>, http://perl.apache.org/, especially
  -the guide, and http://take23.org/.
  +The I<mod_perl> manpage, the L<Apache> manpage,
  +http://perl.apache.org/, especially the guide, and http://take23.org/.
   
   =cut
  
  
  
  1.3       +1 -1      modperl-docs/src/docs/2.0/api/mod_perl-2.0/APR/PerlIO.pod
  
  Index: PerlIO.pod
  ===================================================================
  RCS file: 
/home/cvs/modperl-docs/src/docs/2.0/api/mod_perl-2.0/APR/PerlIO.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- PerlIO.pod        2 Jan 2002 11:14:22 -0000       1.2
  +++ PerlIO.pod        27 Feb 2002 18:03:38 -0000      1.3
  @@ -61,7 +61,7 @@
   
   =head1 SEE ALSO
   
  -L<perliol(1)>, L<perlapio(1)>, L<perl(1)>.
  +The I<perliol(1)>, I<perlapio(1)> and I<perl(1)> manpages.
   
   =cut
   
  
  
  
  1.4       +1 -1      
modperl-docs/src/docs/2.0/api/mod_perl-2.0/Apache/ServerUtil.pod
  
  Index: ServerUtil.pod
  ===================================================================
  RCS file: 
/home/cvs/modperl-docs/src/docs/2.0/api/mod_perl-2.0/Apache/ServerUtil.pod,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- ServerUtil.pod    20 Nov 2001 02:35:07 -0000      1.3
  +++ ServerUtil.pod    27 Feb 2002 18:03:38 -0000      1.4
  @@ -54,7 +54,7 @@
   with a trailing C</>. (it's the same as using C<''> as C<$fname>'s
   value).
   
  -Also see the L<C<server_root>> constant.
  +Also see the C<server_root> constant.
   
   =back
   
  
  
  
  1.5       +4 -4      modperl-docs/src/docs/2.0/devel/help/help.pod
  
  Index: help.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/devel/help/help.pod,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- help.pod  9 Jan 2002 18:09:49 -0000       1.4
  +++ help.pod  27 Feb 2002 18:03:38 -0000      1.5
  @@ -6,8 +6,8 @@
   
   This document covers the resources available to the mod_perl 2.0 core
   developer. Please notice that you probably want to read the L<user's
  -help documentation|../../user/help/help.pod> if you have problems
  -using mod_perl.
  +help documentation|user::help::help> if you have problems using
  +mod_perl.
   
   The following mailing lists and resources can be of a major interest
   to the mod_perl 2.0 developers.
  @@ -219,8 +219,8 @@
   
   =head1 More Help
   
  -There is a L<parallel help document|../../user/help/help.pod> in the
  -user documentation set which covers mod_perl user's issues.
  +There is a L<parallel help document|user::help::help> in the user
  +documentation set which covers mod_perl user's issues.
   
   =head1 Maintainers
   
  
  
  
  1.4       +2 -2      
modperl-docs/src/docs/2.0/devel/porting_from_1.x/porting_from_1.x.pod
  
  Index: porting_from_1.x.pod
  ===================================================================
  RCS file: 
/home/cvs/modperl-docs/src/docs/2.0/devel/porting_from_1.x/porting_from_1.x.pod,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- porting_from_1.x.pod      27 Dec 2001 12:07:53 -0000      1.3
  +++ porting_from_1.x.pod      27 Feb 2002 18:03:38 -0000      1.4
  @@ -83,8 +83,8 @@
   
   C<Apache::Test> testing framework that comes together with mod_perl
   2.x works with 1.x and 2.x mod_perl versions. Therefore you should
  -consider porting your test suite to use
  -C<Apache::Test>. L<writing_tests> explains how to do that.
  +consider porting your test suite to use L<the Apache::Test
  +Framework|devel::testing::testing>.
   
   =head1 Maintainers
   
  
  
  
  1.12      +1 -1      modperl-docs/src/docs/2.0/devel/testing/testing.pod
  
  Index: testing.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/devel/testing/testing.pod,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- testing.pod       21 Feb 2002 04:39:01 -0000      1.11
  +++ testing.pod       27 Feb 2002 18:03:38 -0000      1.12
  @@ -676,7 +676,7 @@
   =back
   
   The debugging options I<-debug> and I<-breakpoint> are covered in the
  -L<Debugging> section.
  +L</Debugging> section.
   
   For a complete list of available switches see the output of C<t/TEST
   -help>.
  
  
  
  1.9       +1 -1      modperl-docs/src/docs/2.0/user/compat/compat.pod
  
  Index: compat.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/user/compat/compat.pod,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- compat.pod        29 Jan 2002 07:55:56 -0000      1.8
  +++ compat.pod        27 Feb 2002 18:03:38 -0000      1.9
  @@ -132,7 +132,7 @@
         ...;
     }
   
  -see the L<attributes> manpage for additional information on subroutine
  +see the I<attributes> manpage for additional information on subroutine
   attributes.
   
   mod_perl 2.0 doesn't support the C<($$)> prototypes, mainly because
  
  
  
  1.4       +1 -1      modperl-docs/src/docs/2.0/user/design/design.pod
  
  Index: design.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/user/design/design.pod,v
  retrieving revision 1.3
  retrieving revision 1.4
  diff -u -r1.3 -r1.4
  --- design.pod        16 Jan 2002 05:36:53 -0000      1.3
  +++ design.pod        27 Feb 2002 18:03:38 -0000      1.4
  @@ -21,7 +21,7 @@
   being implemented as a complete re-write from scratch.
   
   For a more detailed introduction and functionality overview, see
  -L<Overview|overview/overview/"test">.
  +L<Overview|user::overview::overview/"test">.
   
   =head1 Interpreter Management
   
  
  
  
  1.8       +5 -3      modperl-docs/src/docs/2.0/user/install/install.pod
  
  Index: install.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/user/install/install.pod,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- install.pod       27 Dec 2001 11:51:54 -0000      1.7
  +++ install.pod       27 Feb 2002 18:03:38 -0000      1.8
  @@ -196,7 +196,8 @@
   
     % make test
   
  -L<../testing/testing.pod> document covers the C<make test> suite.
  +L<Apache::Test Framework|devel::testing::testing> document covers the
  +C<make test> suite.
   
   META: probably need to link directly to the 'Running Tests' section.
   
  @@ -214,8 +215,9 @@
   
     % perl build/source_scan.pl apxs $apache_prefix/bin/apxs
   
  -META: this is covered in L<core_explained> should probably move/point
  -there.
  +META: this is covered in L<Core
  +Explained|devel::core_explained::core_explained> should probably
  +move/point there.
   
   =head2 Re-using Build Options
   
  
  
  
  1.2       +17 -14    modperl-docs/src/maillist/email-etiquette.pod
  
  Index: email-etiquette.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/email-etiquette.pod,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- email-etiquette.pod       5 Jan 2002 19:15:41 -0000       1.1
  +++ email-etiquette.pod       27 Feb 2002 18:03:38 -0000      1.2
  @@ -1,4 +1,8 @@
  -=head1 The mod_perl Mailing List Guidelines
  +=head1 NAME
  +
  +The mod_perl Mailing List Guidelines
  +
  +=head1 Introduction
   
   =for html <!--
   email-etiquette: This version dated 21 October 2001.
  @@ -13,7 +17,6 @@
   
   Except where noted the language of all documents is English.
   
  -
   =head1 What is mod_perl?
   
   http://perl.apache.org/guide/intro.html#What_is_mod_perl
  @@ -94,8 +97,8 @@
   I<Posting> to the list is just sending a message to the address which
   you will be given after you subscribe.
   
  -Your message will not be accepted unless you have first
  -L<subscribed|To Get On The List>.
  +Your message will not be accepted unless you have first L<To Get On
  +The List|maillist::list-users>.
   
   Do not post to [EMAIL PROTECTED], except to subscribe to
   the list!  Please do not post to the list itself to attempt to
  @@ -358,15 +361,15 @@
   
   It is a large document, you probably will want to download it and read
   it off-line.  If you get the source (see below, L<Corrections and
  -Contributions>) it comes with a build file to turn the .pod (Plain Old
  -Documentation) source into HTML, .ps (PostScript) and .pdf (Portable
  -Document Format).  You will need at least Perl version 5.005 to build
  -it.  If you browse the Guide on-line you can use one of the search
  -engines to find things in it.  If you build and browse your own local
  -HTML copy of the Guide, some of the links in it will not work unless
  -you are connected to the Internet.  Some people prefer to work
  -offline, using tools like `grep' or `mc' to search the .pod source
  -directly.
  +Contributions|/Corrections_and_Contributions>) it comes with a 
  +build file to turn the .pod (Plain Old Documentation) source into
  +HTML, .ps (PostScript) and .pdf (Portable Document Format).  You will
  +need at least Perl version 5.005 to build it.  If you browse the Guide
  +on-line you can use one of the search engines to find things in it.
  +If you build and browse your own local HTML copy of the Guide, some of
  +the links in it will not work unless you are connected to the
  +Internet.  Some people prefer to work offline, using tools like `grep'
  +or `mc' to search the .pod source directly.
   
   
   =head2 Finding the Guide
  @@ -377,7 +380,7 @@
   
   The sources are available from CPAN and other mirrors:
   
  -http://www.perl.com/CPAN-local/authors/id/S/ST/STAS/
  +http://www.cpan.org/authors/id/S/ST/STAS/
   
   
   =head2 Corrections And Contributions
  
  
  
  1.3       +10 -6     modperl-docs/src/maillist/list-advocacy.pod
  
  Index: list-advocacy.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/list-advocacy.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list-advocacy.pod 5 Feb 2002 16:19:17 -0000       1.2
  +++ list-advocacy.pod 27 Feb 2002 18:03:38 -0000      1.3
  @@ -1,7 +1,11 @@
  -########################################### 
  -# WARNING: Do not edit this file!         #
  -# Edit data.pl instead and re-run make.pl #
  -###########################################
  +###################################################
  +# WARNING: Do not edit this file!
  +#          If you do the changes will be lost!
  +# Instead edit data.pl instead and re-run make.pl
  +#
  +# Don't forget to commit the changes to both .txt and the generated
  +# .pod to cvs, since others won't run the local make.pl
  +####################################################
   
   =head1 NAME
   
  @@ -12,8 +16,8 @@
   A mailing list for B<mod_perl advocacy issues>,
   discussions about the site, etc. 
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  
  1.3       +10 -6     modperl-docs/src/maillist/list-announce.pod
  
  Index: list-announce.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/list-announce.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list-announce.pod 5 Feb 2002 16:19:17 -0000       1.2
  +++ list-announce.pod 27 Feb 2002 18:03:38 -0000      1.3
  @@ -1,7 +1,11 @@
  -########################################### 
  -# WARNING: Do not edit this file!         #
  -# Edit data.pl instead and re-run make.pl #
  -###########################################
  +###################################################
  +# WARNING: Do not edit this file!
  +#          If you do the changes will be lost!
  +# Instead edit data.pl instead and re-run make.pl
  +#
  +# Don't forget to commit the changes to both .txt and the generated
  +# .pod to cvs, since others won't run the local make.pl
  +####################################################
   
   =head1 NAME
   
  @@ -12,8 +16,8 @@
   The B<announce> list is for announcing mod_perl and related products
   releases.
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  
  1.3       +10 -6     modperl-docs/src/maillist/list-asp.pod
  
  Index: list-asp.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/list-asp.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list-asp.pod      5 Feb 2002 16:19:17 -0000       1.2
  +++ list-asp.pod      27 Feb 2002 18:03:38 -0000      1.3
  @@ -1,7 +1,11 @@
  -########################################### 
  -# WARNING: Do not edit this file!         #
  -# Edit data.pl instead and re-run make.pl #
  -###########################################
  +###################################################
  +# WARNING: Do not edit this file!
  +#          If you do the changes will be lost!
  +# Instead edit data.pl instead and re-run make.pl
  +#
  +# Don't forget to commit the changes to both .txt and the generated
  +# .pod to cvs, since others won't run the local make.pl
  +####################################################
   
   =head1 NAME
   
  @@ -11,8 +15,8 @@
   
   The B<asp> list is for C<Apache::ASP> discussions.
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  
  1.3       +10 -6     modperl-docs/src/maillist/list-cvs.pod
  
  Index: list-cvs.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/list-cvs.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list-cvs.pod      5 Feb 2002 16:19:17 -0000       1.2
  +++ list-cvs.pod      27 Feb 2002 18:03:38 -0000      1.3
  @@ -1,7 +1,11 @@
  -########################################### 
  -# WARNING: Do not edit this file!         #
  -# Edit data.pl instead and re-run make.pl #
  -###########################################
  +###################################################
  +# WARNING: Do not edit this file!
  +#          If you do the changes will be lost!
  +# Instead edit data.pl instead and re-run make.pl
  +#
  +# Don't forget to commit the changes to both .txt and the generated
  +# .pod to cvs, since others won't run the local make.pl
  +####################################################
   
   =head1 NAME
   
  @@ -16,8 +20,8 @@
   committed to the modperl CVS repository a mail is sent here with the
   diff.
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  
  1.3       +10 -6     modperl-docs/src/maillist/list-dev.pod
  
  Index: list-dev.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/list-dev.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list-dev.pod      5 Feb 2002 16:19:17 -0000       1.2
  +++ list-dev.pod      27 Feb 2002 18:03:38 -0000      1.3
  @@ -1,7 +1,11 @@
  -########################################### 
  -# WARNING: Do not edit this file!         #
  -# Edit data.pl instead and re-run make.pl #
  -###########################################
  +###################################################
  +# WARNING: Do not edit this file!
  +#          If you do the changes will be lost!
  +# Instead edit data.pl instead and re-run make.pl
  +#
  +# Don't forget to commit the changes to both .txt and the generated
  +# .pod to cvs, since others won't run the local make.pl
  +####################################################
   
   =head1 NAME
   
  @@ -12,8 +16,8 @@
   The B<development> mailing list is for discussions about the
   development of the core mod_perl.
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  
  1.3       +10 -6     modperl-docs/src/maillist/list-docs-cvs.pod
  
  Index: list-docs-cvs.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/list-docs-cvs.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list-docs-cvs.pod 5 Feb 2002 16:19:17 -0000       1.2
  +++ list-docs-cvs.pod 27 Feb 2002 18:03:38 -0000      1.3
  @@ -1,7 +1,11 @@
  -########################################### 
  -# WARNING: Do not edit this file!         #
  -# Edit data.pl instead and re-run make.pl #
  -###########################################
  +###################################################
  +# WARNING: Do not edit this file!
  +#          If you do the changes will be lost!
  +# Instead edit data.pl instead and re-run make.pl
  +#
  +# Don't forget to commit the changes to both .txt and the generated
  +# .pod to cvs, since others won't run the local make.pl
  +####################################################
   
   =head1 NAME
   
  @@ -12,8 +16,8 @@
   A mailing list where all the B<mod_perl documentation modification
   commits> are sent.
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  
  1.3       +10 -6     modperl-docs/src/maillist/list-docs-dev.pod
  
  Index: list-docs-dev.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/list-docs-dev.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list-docs-dev.pod 5 Feb 2002 16:19:17 -0000       1.2
  +++ list-docs-dev.pod 27 Feb 2002 18:03:38 -0000      1.3
  @@ -1,7 +1,11 @@
  -########################################### 
  -# WARNING: Do not edit this file!         #
  -# Edit data.pl instead and re-run make.pl #
  -###########################################
  +###################################################
  +# WARNING: Do not edit this file!
  +#          If you do the changes will be lost!
  +# Instead edit data.pl instead and re-run make.pl
  +#
  +# Don't forget to commit the changes to both .txt and the generated
  +# .pod to cvs, since others won't run the local make.pl
  +####################################################
   
   =head1 NAME
   
  @@ -11,8 +15,8 @@
   
   A mailing list for discussing B<mod_perl documentation>
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  
  1.3       +10 -6     modperl-docs/src/maillist/list-embperl.pod
  
  Index: list-embperl.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/list-embperl.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list-embperl.pod  5 Feb 2002 16:19:17 -0000       1.2
  +++ list-embperl.pod  27 Feb 2002 18:03:38 -0000      1.3
  @@ -1,7 +1,11 @@
  -########################################### 
  -# WARNING: Do not edit this file!         #
  -# Edit data.pl instead and re-run make.pl #
  -###########################################
  +###################################################
  +# WARNING: Do not edit this file!
  +#          If you do the changes will be lost!
  +# Instead edit data.pl instead and re-run make.pl
  +#
  +# Don't forget to commit the changes to both .txt and the generated
  +# .pod to cvs, since others won't run the local make.pl
  +####################################################
   
   =head1 NAME
   
  @@ -13,8 +17,8 @@
   L<http://perl.apache.org/embperl/> users and developers to share
   ideas, ask question and solve problems.
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  
  1.3       +10 -6     modperl-docs/src/maillist/list-test-cvs.pod
  
  Index: list-test-cvs.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/list-test-cvs.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list-test-cvs.pod 5 Feb 2002 16:19:17 -0000       1.2
  +++ list-test-cvs.pod 27 Feb 2002 18:03:38 -0000      1.3
  @@ -1,7 +1,11 @@
  -########################################### 
  -# WARNING: Do not edit this file!         #
  -# Edit data.pl instead and re-run make.pl #
  -###########################################
  +###################################################
  +# WARNING: Do not edit this file!
  +#          If you do the changes will be lost!
  +# Instead edit data.pl instead and re-run make.pl
  +#
  +# Don't forget to commit the changes to both .txt and the generated
  +# .pod to cvs, since others won't run the local make.pl
  +####################################################
   
   =head1 NAME
   
  @@ -14,8 +18,8 @@
   including cvs commits of changes for mod_perl's sub-project
   C<Apache::Test>.
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  
  1.3       +10 -6     modperl-docs/src/maillist/list-test-dev.pod
  
  Index: list-test-dev.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/list-test-dev.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list-test-dev.pod 5 Feb 2002 16:19:18 -0000       1.2
  +++ list-test-dev.pod 27 Feb 2002 18:03:38 -0000      1.3
  @@ -1,7 +1,11 @@
  -########################################### 
  -# WARNING: Do not edit this file!         #
  -# Edit data.pl instead and re-run make.pl #
  -###########################################
  +###################################################
  +# WARNING: Do not edit this file!
  +#          If you do the changes will be lost!
  +# Instead edit data.pl instead and re-run make.pl
  +#
  +# Don't forget to commit the changes to both .txt and the generated
  +# .pod to cvs, since others won't run the local make.pl
  +####################################################
   
   =head1 NAME
   
  @@ -14,8 +18,8 @@
   because mod_perl's sub-project C<Apache::Test> is discussed on this
   list.
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  
  1.3       +10 -6     modperl-docs/src/maillist/list-users.pod
  
  Index: list-users.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/list-users.pod,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- list-users.pod    5 Feb 2002 16:19:18 -0000       1.2
  +++ list-users.pod    27 Feb 2002 18:03:38 -0000      1.3
  @@ -1,7 +1,11 @@
  -########################################### 
  -# WARNING: Do not edit this file!         #
  -# Edit data.pl instead and re-run make.pl #
  -###########################################
  +###################################################
  +# WARNING: Do not edit this file!
  +#          If you do the changes will be lost!
  +# Instead edit data.pl instead and re-run make.pl
  +#
  +# Don't forget to commit the changes to both .txt and the generated
  +# .pod to cvs, since others won't run the local make.pl
  +####################################################
   
   =head1 NAME
   
  @@ -13,8 +17,8 @@
   mod_perl users and developers to share ideas, solve problems and discuss
   things related to mod_perl and the C<Apache::*> modules.
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  
  1.3       +2 -2      modperl-docs/src/maillist/maillist.tmpl
  
  Index: maillist.tmpl
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/maillist/maillist.tmpl,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- maillist.tmpl     5 Feb 2002 03:31:34 -0000       1.2
  +++ maillist.tmpl     27 Feb 2002 18:03:38 -0000      1.3
  @@ -15,8 +15,8 @@
   
   [% list.desc -%]
   
  -Please read the mailing list L<Guidelines|email-etiquette> before
  -posting.
  +Please read the mailing list L<Guidelines|maillist::email-etiquette>
  +before posting.
   
   =head1 Subscription Information
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to