sbekman     00/11/26 14:02:46

  Modified:    guide    CHANGES advocacy.html browserbugs.html config.html
                        control.html correct_headers.html databases.html
                        dbm.html debug.html download.html frequent.html
                        hardware.html help.html index.html index_long.html
                        install.html intro.html mod_perl_guide.pdf.gz
                        modules.html multiuser.html performance.html
                        perl.html porting.html scenario.html security.html
                        snippets.html start.html strategy.html
                        troubleshooting.html
               guide/code My-DB.pm
  Log:
  ver 1.27
  
  * intro.pod:
  
    o. updated the long due credits section
  
  * correct_headers.pod:
  
    o added a link to an info page:
    "Prevent the browser from Caching a page"
  
  * multiuser.pod:
  
    o added a ref to "The User-mode Linux Kernel" project (related to
      running of many servers on the same machine safely to the system).
  
  * performance.pod:
  
    o added the http_load utility section
  
    o added notes about latency problems with db transactions
      "Persistent DB Connections" (Rodger Donaldson)
  
  * download.pod:
  
    o added links to http_load and Daquiri (only link to the backhand
      site) utilities.
  
  * troubleshooting.pod:
  
    o foo ... at /dev/null line 0 (Honza Pazdziora)
  
    o httpd keeps on growing after each restart (Perrin Harkins)
  
  * debug.pod:
  
    o suggestion to use warn while debugging (Kenny Gatdula)
  
    o extended the section on using strace(1).
  
    o documented the fact that Apache::Status shouldn't be used on
      production machines because of the overhead that it creates
      (Doug).
  
    o extended the section: "Safe Resource Locking and Cleanup Code"
      with localized file globs example (Doug)
  
  * help.pod:
  
    o added cgi-list subscription info (Peter J. Schoenster)
  
    o started new sections: 'Get help with Unix OS flavors -- Unix OS
      related resources' and 'Get help with Performance and Scalability'
  
  * perl.pod:
  
    o new: Understanding Closures -- the Easy Way (Randal Shwartz,
    Perrin Harkins, Stas)
  
    o Exceptions section update: Exception::Class and Devel::StackTrace
    (Matt Sergeant and Dave Rolsky)
  
  * porting.pod:
  
    o new item: "Return Codes under Apache::Registry" (Eric Cholet)
  
    o "-M and other time() file tests under mod_perl" -- added a nice
      TransHandler to handle the time resetting (Doug)
  
    o Adding local() at "-M and other time() file tests under mod_perl"
      (Andreas Koenig)
  
    o Documented Apache::Reload
  
    o correction: PERL5LIB is not ignored when PerlTaintCheck is on
  
  * install.pod:
  
    o mod_proxy_add_forward setup extended with notes about
    --permute-module to make it easy to place mod_proxy_add_forward
    before mod_proxy (Larry Leszczynski)
  
    o mod_perl and php install scenario (Roy Nasser)
  
    o reviewed and extensively edited.
  
    o added an info about Aphid Apache Installer
  
    o removed the section about experimental compile option
      PERL_MARK_WHERE since it should go away with 2.0 (it's still
      mentioned in debug.pod : "Finding the Line Which Triggered the
      Error or Warning" (Doug)
  
  * scenario.pod: reviewed and extensively edited.
  
  * strategy.pod: reviewed and extensively edited.
  
  * Minor corrections:
  
    o install.pod: (Neil Conway, Lance Cleveland)
  
    o perl.pod: (Pavel Shmidt)
  
    o config.pod: (Michael Rendell)
  
  Revision  Changes    Path
  1.27      +123 -1    modperl-site/guide/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/CHANGES,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- CHANGES   2000/08/21 13:18:00     1.26
  +++ CHANGES   2000/11/26 22:02:18     1.27
  @@ -2,6 +2,127 @@
                ### mod_perl Guide CHANGES file ###
                ###################################
   
  +11.26.2000 ver 1.27
  +
  +* intro.pod: 
  +
  +  o. updated the long due credits section
  +
  +* correct_headers.pod:
  +
  +  o added a link to an info page:
  +  "Prevent the browser from Caching a page"
  +
  +* multiuser.pod:
  +
  +  o added a ref to "The User-mode Linux Kernel" project (related to
  +    running of many servers on the same machine safely to the system).
  +
  +* performance.pod:
  +
  +  o added the http_load utility section
  +
  +  o added notes about latency problems with db transactions
  +    "Persistent DB Connections" (Rodger Donaldson)
  +
  +* download.pod:
  +
  +  o added links to http_load and Daquiri (only link to the backhand
  +    site) utilities.
  +
  +* troubleshooting.pod:
  +
  +  o foo ... at /dev/null line 0 (Honza Pazdziora)
  +
  +  o httpd keeps on growing after each restart (Perrin Harkins)
  +
  +* debug.pod:
  +
  +  o suggestion to use warn while debugging (Kenny Gatdula)
  +
  +  o extended the section on using strace(1).
  +
  +  o documented the fact that Apache::Status shouldn't be used on
  +    production machines because of the overhead that it creates
  +    (Doug).
  +
  +  o extended the section: "Safe Resource Locking and Cleanup Code"
  +    with localized file globs example (Doug)
  +
  +* help.pod:
  +
  +  o added cgi-list subscription info (Peter J. Schoenster)
  +
  +  o started new sections: 'Get help with Unix OS flavors -- Unix OS
  +    related resources' and 'Get help with Performance and Scalability'
  +
  +* perl.pod: 
  +
  +  o new: Understanding Closures -- the Easy Way (Randal Shwartz,
  +  Perrin Harkins, Stas)
  +
  +  o Exceptions section update: Exception::Class and Devel::StackTrace
  +  (Matt Sergeant and Dave Rolsky)
  +
  +* porting.pod: 
  +
  +  o new item: "Return Codes under Apache::Registry" (Eric Cholet)
  +
  +  o "-M and other time() file tests under mod_perl" -- added a nice
  +    TransHandler to handle the time resetting (Doug)
  +
  +  o Adding local() at "-M and other time() file tests under mod_perl"
  +    (Andreas Koenig)
  +
  +  o Documented Apache::Reload 
  +
  +  o correction: PERL5LIB is not ignored when PerlTaintCheck is on
  +
  +* install.pod: 
  +
  +  o mod_proxy_add_forward setup extended with notes about
  +  --permute-module to make it easy to place mod_proxy_add_forward
  +  before mod_proxy (Larry Leszczynski)
  +
  +  o mod_perl and php install scenario (Roy Nasser)
  +
  +  o reviewed and extensively edited.
  +
  +  o added an info about Aphid Apache Installer
  +
  +  o removed the section about experimental compile option
  +    PERL_MARK_WHERE since it should go away with 2.0 (it's still
  +    mentioned in debug.pod : "Finding the Line Which Triggered the
  +    Error or Warning" (Doug)
  +
  +* scenario.pod: reviewed and extensively edited.
  +
  +* strategy.pod: reviewed and extensively edited.
  +
  +* Minor corrections:
  +
  +  o install.pod: (Neil Conway, Lance Cleveland)
  +
  +  o perl.pod: (Pavel Shmidt)
  +
  +  o config.pod: (Michael Rendell)
  +
  +
  +
  +
  +
  +08.22.2000 ver 1.26-fix-01
  +
  +* build: fixed the Makefile.PL to detect the prerequisites. MANIFEST
  +  file is OK now (didn't accept files starting with './') (Marcel
  +  Grunauer)
  +
  +* troubleshooting.pod: install_driver(Oracle) failed: Can't load
  +   '.../DBD/Oracle/Oracle.so' for module DBD::Oracle (Ed Park)
  +
  +
  +
  +
   08.21.2000 ver 1.26
   
   * mod_perl guide's build process is now completely migrated into an
  @@ -24,7 +145,8 @@
     rewritten, to accomodate a better in my opinion directories layout
     and simpler installation process"
   
  -* perl.pod: "Exception Handling for mod_perl" was improved by Matt.
  +* perl.pod: "Exception Handling for mod_perl" was improved by Matt
  +  Sergeant.
   
   * Minor corrections: 
     o config (Ron Pero)
  
  
  
  1.10      +8 -8      modperl-site/guide/advocacy.html
  
  Index: advocacy.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/advocacy.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- advocacy.html     2000/06/07 22:45:29     1.9
  +++ advocacy.html     2000/11/26 22:02:18     1.10
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: mod_perl Advocacy</title>
  +   <title>mod_perl guide: mod_perl Advocacy </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      mod_perl Advocacy
  +      mod_perl Advocacy 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="hardware.html">Prev</a>                                 |
  +      <a href="./hardware.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="help.html">Next</a>
  +      <a href="./help.html">Next</a>
       </div>
       <p>
   
  @@ -200,7 +200,7 @@
   
   <P><LI>
   <P>
  -mod_perl, FastCGI, Velocigen and PerlEx are all give good performance gains
  +mod_perl, FastCGI, Velocigen and PerlEx all give good performance gains
   over plain mod_cgi.
   
   <P><LI>
  @@ -225,11 +225,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="hardware.html">Prev</a>                                 |
  +      <a href="./hardware.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="help.html">Next</a>
  +      <a href="./help.html">Next</a>
       </div>
       <p>
   
  @@ -272,7 +272,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 05/27/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 09/03/2000
   </font></b>
   <br>
   
  
  
  
  1.12      +6 -6      modperl-site/guide/browserbugs.html
  
  Index: browserbugs.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/browserbugs.html,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- browserbugs.html  2000/08/05 20:48:04     1.11
  +++ browserbugs.html  2000/11/26 22:02:18     1.12
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Workarounds for some known bugs in browsers.</title>
  +   <title>mod_perl guide: Workarounds for some known bugs in browsers. </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Workarounds for some known bugs in browsers.
  +      Workarounds for some known bugs in browsers. 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="debug.html">Prev</a>                                 |
  +      <a href="./debug.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="modules.html">Next</a>
  +      <a href="./modules.html">Next</a>
       </div>
       <p>
   
  @@ -110,11 +110,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="debug.html">Prev</a>                                 |
  +      <a href="./debug.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="modules.html">Next</a>
  +      <a href="./modules.html">Next</a>
       </div>
       <p>
   
  
  
  
  1.29      +171 -151  modperl-site/guide/config.html
  
  Index: config.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/config.html,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- config.html       2000/08/21 13:18:00     1.28
  +++ config.html       2000/11/26 22:02:18     1.29
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: mod_perl Configuration</title>
  +   <title>mod_perl guide: mod_perl Configuration </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      mod_perl Configuration
  +      mod_perl Configuration 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="install.html">Prev</a>                                 |
  +      <a href="./install.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="control.html">Next</a>
  +      <a href="./control.html">Next</a>
       </div>
       <p>
   
  @@ -203,7 +203,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -231,7 +231,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -251,7 +251,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -272,7 +272,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -311,7 +311,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -392,7 +392,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -419,7 +419,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -436,7 +436,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -493,7 +493,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -544,7 +544,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -608,7 +608,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -650,7 +650,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -675,7 +675,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -724,7 +724,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -753,7 +753,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -776,7 +776,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -794,13 +794,13 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
          <pre>  Alias /cgi-bin /home/httpd/cgi-bin
  -  SetHandler cgi-handler</pre>
  +  SetHandler cgi-script</pre>
           </td>
            
         </tr>
  @@ -829,7 +829,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -853,7 +853,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -914,7 +914,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -940,7 +940,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -964,7 +964,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -983,7 +983,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1001,7 +1001,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1023,7 +1023,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1042,7 +1042,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1068,7 +1068,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1091,7 +1091,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1124,7 +1124,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1156,7 +1156,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1178,7 +1178,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1208,7 +1208,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1227,7 +1227,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1315,7 +1315,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1386,7 +1386,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1407,7 +1407,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1425,7 +1425,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1443,7 +1443,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1461,7 +1461,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1482,7 +1482,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1505,7 +1505,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1534,7 +1534,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1559,7 +1559,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1592,7 +1592,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1616,7 +1616,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1635,7 +1635,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1662,7 +1662,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1687,7 +1687,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1705,7 +1705,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1730,7 +1730,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1753,7 +1753,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1779,7 +1779,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1794,7 +1794,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1826,7 +1826,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1845,7 +1845,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1872,7 +1872,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1906,7 +1906,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1924,7 +1924,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1943,7 +1943,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1967,7 +1967,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1990,7 +1990,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2016,7 +2016,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2038,7 +2038,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2055,17 +2055,17 @@
   
   <P>
   Regarding the setting of <CODE>PerlPassEnv PERL5LIB</CODE> in <EM>httpd.conf</EM>: 
if you turn on taint checks (<CODE>PerlTaintCheck On</CODE>), 
<CODE>$ENV{PERL5LIB}</CODE>
  -will be ignored (unset). See the '<A 
HREF="././porting.html#Command_line_Switches_w_T_e">Switches -w, -T</A>' section.
  +will be ignored (unset). See the '<A 
HREF="././porting.html#Command_Line_Switches_w_T_e">Switches -w, -T</A>' section.
   
   <P>
  -<CODE>PerlSetVar</CODE> is very similar to <CODE>PerlSetEnv</CODE>, but you extract 
it with another method. 
  +<CODE>PerlSetVar</CODE> is very similar to <CODE>PerlSetEnv</CODE>, but you extract 
it with another method.
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2083,7 +2083,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2101,7 +2101,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2120,12 +2120,12 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  -       <pre>  value</pre>
  +       <pre>  bar</pre>
           </td>
            
         </tr>
  @@ -2138,7 +2138,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2165,7 +2165,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2185,7 +2185,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2203,7 +2203,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2218,6 +2218,13 @@
   retrieved values in a hash.
   
   <P>
  +While the Apache's <CODE>SetEnv</CODE> and mod_perl's <CODE>PerlSetEnv</CODE> 
apparently perform the same thing, the former doesn't happen until the
  +fixup phase, the latter happens as soon as possible, so those variables are
  +available before then, e.g. in <CODE>PerlAuthenHandler</CODE> for
  +<CODE>$ENV{ORACLE_HOME}</CODE> (or another evironment variable that you need in 
these early request
  +processing stages.
  +
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H2><A NAME="PerlSetupEnv">PerlSetupEnv</A></H2></CENTER>
  @@ -2229,7 +2236,7 @@
   <HR>
   <CENTER><H2><A NAME="PerlWarn_and_PerlTaintCheck">PerlWarn and 
PerlTaintCheck</A></H2></CENTER>
   <P>
  -For <STRONG>PerlWarn</STRONG> and <STRONG>PerlTaintCheck</STRONG> directives see 
the '<A HREF="././porting.html#Command_line_Switches_w_T_e">Switches -w, -T</A>' 
section.
  +For <STRONG>PerlWarn</STRONG> and <STRONG>PerlTaintCheck</STRONG> directives see 
the '<A HREF="././porting.html#Command_Line_Switches_w_T_e">Switches -w, -T</A>' 
section.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -2272,7 +2279,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2302,7 +2309,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2324,7 +2331,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2380,7 +2387,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2399,7 +2406,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2420,7 +2427,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2439,7 +2446,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2465,7 +2472,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2487,7 +2494,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2506,7 +2513,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2539,7 +2546,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2571,7 +2578,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2630,7 +2637,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2649,7 +2656,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2667,7 +2674,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2691,7 +2698,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2709,7 +2716,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2777,7 +2784,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2807,7 +2814,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2841,7 +2848,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2869,7 +2876,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2887,7 +2894,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2918,7 +2925,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2939,7 +2946,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2971,7 +2978,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2997,7 +3004,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3030,7 +3037,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3057,7 +3064,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3090,7 +3097,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3112,7 +3119,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3138,7 +3145,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3154,7 +3161,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3177,7 +3184,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3201,7 +3208,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3233,7 +3240,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3295,7 +3302,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3314,7 +3321,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3339,7 +3346,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3362,7 +3369,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3387,7 +3394,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3437,7 +3444,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3457,7 +3464,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3480,7 +3487,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3503,7 +3510,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3523,7 +3530,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3554,7 +3561,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3583,7 +3590,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3617,7 +3624,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3650,7 +3657,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3682,7 +3689,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3742,7 +3749,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3763,7 +3770,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3814,7 +3821,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3850,7 +3857,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3872,7 +3879,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3942,7 +3949,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3990,7 +3997,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4039,7 +4046,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4077,7 +4084,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4088,9 +4095,22 @@
     
     use strict;
     use Apache::ModuleConfig ();
  -  use DynaLoader ();
  -   
  -  if($ENV{MOD_PERL}) {
  +  use DynaLoader ();</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  if($ENV{MOD_PERL}) {
       no strict;
       $VERSION = '0.01';
       @ISA = qw(DynaLoader);
  @@ -4115,7 +4135,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4133,7 +4153,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4152,7 +4172,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4171,7 +4191,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4190,7 +4210,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4210,7 +4230,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4229,11 +4249,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="install.html">Prev</a>                                 |
  +      <a href="./install.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="control.html">Next</a>
  +      <a href="./control.html">Next</a>
       </div>
       <p>
   
  @@ -4276,7 +4296,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/09/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/26/2000
   </font></b>
   <br>
   
  
  
  
  1.29      +103 -121  modperl-site/guide/control.html
  
  Index: control.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/control.html,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- control.html      2000/08/21 13:18:01     1.28
  +++ control.html      2000/11/26 22:02:19     1.29
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Restarting Techniques</title>
  +   <title>mod_perl guide: Controlling and Monitoring the Server </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Restarting Techniques
  +      Controlling and Monitoring the Server 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="config.html">Prev</a>                                 |
  +      <a href="./config.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="strategy.html">Next</a>
  +      <a href="./strategy.html">Next</a>
       </div>
       <p>
   
  @@ -126,7 +126,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -148,7 +148,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -166,7 +166,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -197,7 +197,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -243,20 +243,23 @@
   
   <P><DT><STRONG><A NAME="item_HUP">HUP Signal: Restart Now</A></STRONG><DD>
   <P>
  -Sending the <A HREF="#item_HUP">HUP</A> signal to the parent causes it to kill off 
its children as if you had sent <A HREF="#item_TERM">TERM</A> (any requests in 
progress are terminated) but the parent doesn't exit.
  +Sending the <A HREF="#item_HUP">HUP</A> signal to the parent causes it to kill off 
its children as if the <A HREF="#item_TERM">TERM</A> signal had been sent, i.e. any 
requests in progress are terminated; but the
  +parent does not exit. Instead, the parent re-reads its configuration files,
  +spawns a new set of child processes and continues to serve requests. It is
  +almost equivalent to stopping and then restarting the server.
  +
  +<P>
  +If the configuration files contain errors when restart is signalled, the
  +parent will exit, so it is important to check the configuration files for
  +errors before issuing a restart. How to perform the check will be covered
  +shortly;
  +
  +<P>
  +Sometimes using this approach to restart mod_perl enabled Apache may cause
  +the processes memory incremental growth after each restart. This happens
  +when Perl code loaded in memory is not completely torn down, leading to a
  +memory leak.
   
  -<P>
  -Instead the parent will reread its configuration files, close and re-open
  -its log files, flush all the compiled and preloaded modules, and rerun
  -startup files. Then it spawns a new set of children and continues serving
  -requests. It's equivalent to stopping and then restarting the server.
  -
  -<P>
  -Notice that if your configuration files have errors when you issue a
  -restart, then the parent will exit. Therefore you should check the
  -configuration files for errors, before issuing the restart. We will present
  -a technique for performing this check in a moment.
  -
   <P><DT><STRONG><A NAME="item_USR1">USR1 Signal: Gracefully Restart 
Now</A></STRONG><DD>
   <P>
   The <A HREF="#item_USR1">USR1</A> signal causes the parent process to advise the 
children to exit after
  @@ -283,7 +286,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -328,7 +331,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -361,7 +364,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -379,7 +382,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -397,7 +400,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -415,7 +418,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -433,7 +436,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -480,7 +483,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -507,7 +510,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -527,7 +530,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -546,7 +549,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -566,7 +569,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -584,7 +587,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -602,7 +605,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -620,7 +623,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -638,7 +641,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -665,7 +668,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -689,7 +692,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -739,7 +742,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -769,7 +772,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -789,7 +792,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -811,7 +814,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -832,7 +835,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -857,7 +860,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -889,7 +892,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -911,7 +914,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -959,7 +962,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -991,7 +994,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1010,7 +1013,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1041,7 +1044,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1064,7 +1067,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1127,7 +1130,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1219,7 +1222,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1266,7 +1269,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1285,7 +1288,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1316,7 +1319,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1335,7 +1338,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1355,7 +1358,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1385,7 +1388,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1409,7 +1412,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1429,7 +1432,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1447,7 +1450,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1475,7 +1478,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1494,7 +1497,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1512,7 +1515,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1534,7 +1537,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1552,7 +1555,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1587,7 +1590,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1605,7 +1608,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1681,7 +1684,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1699,7 +1702,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1808,7 +1811,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1865,7 +1868,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1884,7 +1887,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1902,7 +1905,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1957,7 +1960,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1978,7 +1981,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1997,7 +2000,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2015,7 +2018,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2044,7 +2047,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2069,7 +2072,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2172,7 +2175,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2284,7 +2287,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2306,7 +2309,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2352,7 +2355,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2384,7 +2387,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2466,7 +2469,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2527,7 +2530,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2732,33 +2735,6 @@
   long time. In the meanwhile the <CODE>Apache::Resource</CODE> module can be handy.
   
   <P>
  -Sometimes calling an undefined subroutine in a module can cause a tight
  -loop that consumes all the available memory. Here is a way to catch such
  -errors. Define an <CODE>AUTOLOAD</CODE> subroutine:
  -
  -<P>
  -
  -    <table>
  -      <tr>
  -
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  -
  -     <td>
  -       <pre>  sub UNIVERSAL::AUTOLOAD {
  -    my $class = shift;
  -    warn &quot;$class can't \$UNIVERSAL::AUTOLOAD!\n&quot;;
  -  }</pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  -This will produce a nice error in <EM>error_log</EM>, giving the line number of the 
call and the name of the undefined
  -subroutine.
  -
  -<P>
   For swapping monitoring techniques see the section '<A 
HREF="././debug.html#Apache_VMonitor_Visual_Syste">Apache::VMonitor -- Visual System 
and Apache Server Monitor</A>'.
   
   <P>
  @@ -2778,14 +2754,14 @@
   <P>
   Sometimes calling an undefined subroutine in a module can cause a tight
   loop that consumes all the available memory. Here is a way to catch such
  -errors. Define an autoload subroutine:
  +errors. Define an <CODE>UNIVERSAL::AUTOLOAD</CODE> subroutine in your 
<EM>startup.pl</EM>, or in a &lt;Perl&gt;&lt;/Perl&gt; section in your 
<EM>httpd.conf</EM> file:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2799,6 +2775,12 @@
         </tr>
       </table>
       <P>
  +You can either put it in your startup.pl, or in a &lt;Perl&gt;&lt;/Perl&gt;
  +section in your httpd.conf file. I do the latter. Putting it in all your
  +mod_perl modules would be redundant (and might give you compile-time
  +errors).
  +
  +<P>
   This will produce a nice error in <EM>error_log</EM>, giving the line number of the 
call and the name of the undefined
   subroutine.
   
  @@ -2808,11 +2790,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="config.html">Prev</a>                                 |
  +      <a href="./config.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="strategy.html">Next</a>
  +      <a href="./strategy.html">Next</a>
       </div>
       <p>
   
  @@ -2855,7 +2837,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/09/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/20/2000
   </font></b>
   <br>
   
  
  
  
  1.12      +61 -40    modperl-site/guide/correct_headers.html
  
  Index: correct_headers.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/correct_headers.html,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- correct_headers.html      2000/08/21 13:18:01     1.11
  +++ correct_headers.html      2000/11/26 22:02:19     1.12
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Issuing Correct HTTP Headers</title>
  +   <title>mod_perl guide: Issuing Correct HTTP Headers </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Issuing Correct HTTP Headers
  +      Issuing Correct HTTP Headers 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="troubleshooting.html">Prev</a>                                 |
  +      <a href="./troubleshooting.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="security.html">Next</a>
  +      <a href="./security.html">Next</a>
       </div>
       <p>
   
  @@ -73,6 +73,7 @@
                <LI><A HREF="#_5_">[5]</A>
        </UL>
   
  +     <LI><A HREF="#Other_resources">Other resources</A>
   </UL>
   
       </div>
  @@ -212,7 +213,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -228,7 +229,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -282,7 +283,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -291,7 +292,7 @@
     use Date::Parse;
     # Date::Parse parses RCS format, Apache::Util::parsedate doesn't
     $Mtime ||=
  -    Date::Parse::str2time(substr q$Date: 2000/08/21 13:18:01 $, 6);
  +    Date::Parse::str2time(substr q$Date: 2000/11/26 22:02:19 $, 6);
     $r-&gt;set_last_modified($Mtime);</pre>
           </td>
            
  @@ -315,7 +316,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -341,7 +342,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -363,7 +364,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -383,7 +384,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -409,7 +410,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -448,7 +449,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -481,7 +482,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -512,7 +513,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -532,7 +533,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -551,7 +552,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -584,7 +585,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -630,7 +631,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -650,7 +651,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -673,7 +674,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -699,7 +700,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -718,7 +719,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -766,7 +767,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -799,7 +800,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -818,7 +819,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -866,7 +867,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -920,7 +921,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -951,7 +952,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -991,7 +992,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1009,7 +1010,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1030,7 +1031,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1048,7 +1049,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1072,7 +1073,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1103,7 +1104,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1145,7 +1146,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1209,17 +1210,37 @@
   
HREF="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu/">http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu/</A>
   
   
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
  +<CENTER><H1><A NAME="Other_resources">Other resources</A></H1></CENTER>
  +<UL>
  +<P><LI>
  +<P>
  +Prevent the browser from Caching a page <A
  
+HREF="http://www.pacificnet.net/~johnr/meta.html">http://www.pacificnet.net/~johnr/meta.html</A>
  +
  +
  +<P>
  +This page is an explanation of using the Meta tag to prevent caching, by
  +browser or proxy, of an individual page wherein the page in question has
  +data that may be of a sensitive nature as in a ``form page for submittal''
  +and the creator of the page wants to make sure that the page does not get
  +submitted twice.
  +
  +<P><LI>
  +</UL>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   
   
       <p>
       <div class="navbar">
  -      <a href="troubleshooting.html">Prev</a>                                 |
  +      <a href="./troubleshooting.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="security.html">Next</a>
  +      <a href="./security.html">Next</a>
       </div>
       <p>
   
  @@ -1262,7 +1283,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 06/28/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/20/2000
   </font></b>
   <br>
   
  
  
  
  1.17      +25 -25    modperl-site/guide/databases.html
  
  Index: databases.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/databases.html,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- databases.html    2000/08/05 20:48:04     1.16
  +++ databases.html    2000/11/26 22:02:22     1.17
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: mod_perl and Relational Databases</title>
  +   <title>mod_perl guide: mod_perl and Relational Databases </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      mod_perl and Relational Databases
  +      mod_perl and Relational Databases 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="security.html">Prev</a>                                 |
  +      <a href="./security.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="dbm.html">Next</a>
  +      <a href="./dbm.html">Next</a>
       </div>
       <p>
   
  @@ -205,7 +205,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -238,7 +238,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -282,7 +282,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -308,7 +308,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -326,7 +326,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -372,7 +372,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -432,7 +432,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -458,7 +458,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -501,7 +501,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -526,7 +526,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -576,7 +576,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -677,7 +677,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -701,7 +701,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -730,7 +730,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -748,7 +748,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -770,7 +770,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -800,7 +800,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -832,7 +832,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -894,7 +894,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -938,11 +938,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="security.html">Prev</a>                                 |
  +      <a href="./security.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="dbm.html">Next</a>
  +      <a href="./dbm.html">Next</a>
       </div>
       <p>
   
  
  
  
  1.16      +17 -16    modperl-site/guide/dbm.html
  
  Index: dbm.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/dbm.html,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- dbm.html  2000/06/07 22:45:30     1.15
  +++ dbm.html  2000/11/26 22:02:23     1.16
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: mod_perl and dbm files</title>
  +   <title>mod_perl guide: mod_perl and dbm files </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      mod_perl and dbm files
  +      mod_perl and dbm files 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="databases.html">Prev</a>                                 |
  +      <a href="./databases.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="multiuser.html">Next</a>
  +      <a href="./multiuser.html">Next</a>
       </div>
       <p>
   
  @@ -150,7 +150,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -168,6 +168,7 @@
     
     use strict;
     use DB_File;
  +  use Fcntl;
     
       # Do checks 
     die &quot;Usage: btree2hash.pl filename(s))\n&quot; unless @ARGV;
  @@ -186,9 +187,9 @@
     
         # tie both dbs (db_hash is a fresh one!)
       tie %btree , 'DB_File',&quot;$filename.btree&quot;, O_RDWR|O_CREAT, 
  -        0660, $DB_BTREE or die &quot;Can't tie %btree&quot;;
  +        0660, $DB_BTREE or die &quot;Can't tie $filename.btree&quot;;
       tie %hash ,  'DB_File',&quot;$filename&quot; , O_RDWR|O_CREAT, 
  -        0660, $DB_HASH  or die &quot;Can't tie %hash&quot;;
  +        0660, $DB_HASH  or die &quot;Can't tie $filename&quot;;
     
         # copy DB
       %hash = %btree;
  @@ -272,7 +273,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -378,7 +379,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -443,7 +444,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -461,7 +462,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -490,7 +491,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -523,7 +524,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -560,11 +561,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="databases.html">Prev</a>                                 |
  +      <a href="./databases.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="multiuser.html">Next</a>
  +      <a href="./multiuser.html">Next</a>
       </div>
       <p>
   
  @@ -607,7 +608,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 05/27/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 09/03/2000
   </font></b>
   <br>
   
  
  
  
  1.26      +394 -226  modperl-site/guide/debug.html
  
  Index: debug.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/debug.html,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- debug.html        2000/08/05 20:48:05     1.25
  +++ debug.html        2000/11/26 22:02:23     1.26
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Debugging mod_perl</title>
  +   <title>mod_perl guide: Debugging mod_perl </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Debugging mod_perl
  +      Debugging mod_perl 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="multiuser.html">Prev</a>                                 |
  +      <a href="./multiuser.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="browserbugs.html">Next</a>
  +      <a href="./browserbugs.html">Next</a>
       </div>
       <p>
   
  @@ -211,7 +211,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -276,7 +276,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -305,7 +305,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -331,7 +331,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -351,7 +351,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -372,7 +372,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -396,7 +396,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -419,7 +419,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -437,7 +437,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -467,7 +467,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -492,7 +492,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -516,7 +516,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -541,7 +541,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -565,7 +565,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -590,7 +590,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -608,7 +608,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -651,7 +651,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -669,7 +669,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -691,7 +691,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -709,7 +709,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -727,7 +727,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -822,7 +822,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -840,7 +840,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -864,7 +864,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -907,7 +907,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -986,7 +986,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1036,7 +1036,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1068,7 +1068,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1111,7 +1111,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1129,7 +1129,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1285,7 +1285,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1313,7 +1313,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1336,7 +1336,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1366,7 +1366,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1384,7 +1384,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1420,33 +1420,40 @@
   <HR>
   <CENTER><H3><A NAME="Using_the_System_Calls_Trace">Using the System Calls 
Trace</A></H3></CENTER>
   <P>
  -Depending on the operating system you should have one of the <CODE>truss</CODE>
  -or <CODE>strace</CODE> utilities available. The usage is simple:
  +Depending on the operating system you should have one of the
  +<CODE>truss(1)</CODE> or <CODE>strace(1)</CODE> utilities available. In the 
following examples we will use <CODE>strace(1)</CODE>.
   
   <P>
  +There are two ways to get the trace of the process with
  +<CODE>strace(1)</CODE> (similar to <CODE>gdb(1)).</CODE> The first one is
  +to tell <CODE>strace(1)</CODE> to start the process and do the tracing on
  +it:
   
  +<P>
  +
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  -       <pre>  % truss -p PID</pre>
  +       <pre>  % strace perl -le 'print &quot;mod_perl rules&quot;'</pre>
           </td>
            
         </tr>
       </table>
       <P>
  -or
  +The second is tell <CODE>strace(1)</CODE> to attach to the process that's
  +already running. You need to know the PID of the process.
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1460,18 +1467,44 @@
   Replace PID with the process number you want to check on.
   
   <P>
  -Let's write a program that hangs, and deploy <CODE>strace</CODE> to find the point 
it hangs at:
  +There are many more useful arguments accepted by <CODE>strace(1)</CODE>
  +that you might find useful. For example you can tell it to trace only
  +specific system calls:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  +       <pre>  % strace -e trace=open,write,close,nanosleep \
  +      perl -le 'print &quot;mod_perl rules&quot;'</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +In this example we have asked <CODE>strace(1)</CODE> to show us only the 
<EM>open</EM>,
  +<EM>write</EM>, <EM>close</EM>, <EM>nanosleep</EM> which simplifies the observing 
of the output generated by
  +<CODE>strace(1)</CODE> if you know what you are looking for.
  +
  +<P>
  +Let's write a mod_perl script that hangs, and deploy <CODE>strace(1)</CODE> to find 
the point it hangs at:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
          <pre>  hangme.pl
     ---------
     $|=1;
  @@ -1500,8 +1533,8 @@
   I've made STDOUT unbuffered with <CODE>$|=1;</CODE> so I will immediately see the 
process ID. Once the script is requested, the
   script prints the process PID and obviously hangs. So we press the 
<CODE>'Stop'</CODE>
   button, but the process continues to hang in this code. Isn't apache
  -supposed to detect the broken connection and abort the request? Yes and No,
  -you will understand soon what's really happening.
  +supposed to detect the broken connection and abort the request?
  +<EM>Yes</EM> and <EM>No</EM>, you will understand soon what's really happening.
   
   <P>
   First let's attach to the process and see what it's doing. I use the PID
  @@ -1512,7 +1545,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1542,7 +1575,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1573,7 +1606,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1631,7 +1664,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1653,7 +1686,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1701,7 +1734,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1719,7 +1752,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1750,7 +1783,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1793,7 +1826,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1859,7 +1892,7 @@
   
   <P>
   Prior to Apache version 1.3.6, <CODE>SIGPIPE</CODE> was handled by Apache. 
Currently Apache is not handling SIGPIPE anymore and
  -mod_perl takes care of it. 
  +mod_perl takes care of it.
   
   <P>
   Under mod_perl <CODE>$r-&gt;print</CODE> (or just <CODE>print())</CODE> returns a 
<EM>true</EM>
  @@ -1874,7 +1907,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1909,7 +1942,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1957,7 +1990,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1987,7 +2020,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2020,7 +2053,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2054,7 +2087,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2087,7 +2120,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2107,7 +2140,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2132,7 +2165,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2150,7 +2183,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2183,7 +2216,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2229,7 +2262,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2275,7 +2308,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2311,7 +2344,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2380,7 +2413,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2418,7 +2451,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2486,7 +2519,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2565,7 +2598,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2590,7 +2623,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2630,7 +2663,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2666,7 +2699,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2690,6 +2723,98 @@
   and should be avoided.
   
   <P>
  +mod_perl comes with its own implementation of <CODE>gensym(),</CODE> so you
  +don't even need to load the Symbol module in order to use this function. In
  +mod_perl this function resides in the <A HREF="#item_Apache">Apache</A> package. 
For example:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  use Apache;
  +  my $fh = Apache::gensym();
  +  open $fh, &quot;+&gt;&gt;filename&quot; or die &quot;$!&quot;;
  +  ...</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +If you insist on using the file globs, at least make sure that you
  +<CODE>local()'ize</CODE> these, and then if the flow of the code is
  +interrupted before <CODE>close()</CODE> was called the filehandle will be
  +automatically closed, since the <CODE>local()'ized</CODE> variable will go
  +out of the scope. The following example shows that the file is indeed
  +closed even when there is no <CODE>close():</CODE>
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  /tmp/io.pl
  +  --------------
  +  #!/usr/bin/perl
  +  # /dev/null so strace output is more readable
  +  open my $fh, &quot;&gt;/dev/null&quot;;
  +  select $fh;
  +  $| = 1;
  +  {
  +    print &quot;enter&quot;;
  +    local *FH;
  +    open FH, $0;
  +    print &quot;leave&quot;
  +  }
  +  print &quot;done&quot;;</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +This simple script opens the <EM>/dev/null</EM> and tells Perl to send all the 
STDOUT there, which is also made unbuffered.
  +Then the block is created in which the <CODE>FH</CODE> file glob is localized. Then 
it's used to open the source code of the
  +script (which resides in <CODE>$0</CODE>). In order to separate event of entering 
the block scope and leaving it,
  +the debug print statements are used. Now let's run the script under
  +<CODE>strace(1),</CODE> which proves once again to be very useful in the
  +tool bag of the mod_perl programmer:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  % strace /tmp/io.pl
  +  write(3, &quot;enter&quot;, 5)                    = 5
  +  -&gt; open(&quot;/tmp/io.pl&quot;, O_RDONLY) = 4
  +  fstat(4, {st_mode=S_ISGID|S_ISVTX|0401, st_size=0, ...}) = 0
  +  fcntl(4, F_SETFD, FD_CLOEXEC)           = 0
  +  write(3, &quot;leave&quot;, 5)                    = 5
  +  -&gt; close(4)                                = 0
  +  write(3, &quot;done&quot;, 4)                     = 4</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +So you can see that <EM>/tmp/io.pl</EM> is actually <CODE>close()'d.</CODE>
  +
  +<P>
   Under Perl version 5.6 <CODE>Symbol.pm</CODE>-like functionality is a built-in 
feature, so you can do:
   
   <P>
  @@ -2697,7 +2822,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2722,7 +2847,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2754,7 +2879,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2783,7 +2908,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2803,7 +2928,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2826,7 +2951,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2853,7 +2978,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2879,7 +3004,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2913,7 +3038,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2963,6 +3088,10 @@
   variable dumps, lexical information, OPcode trees, and more.
   
   <P>
  +You shouldn't use it on production server as it adds quite a bit of
  +overhead for each request.
  +
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H3><A NAME="Minimal_Configuration">Minimal Configuration</A></H3></CENTER>
  @@ -2974,7 +3103,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2998,7 +3127,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3053,7 +3182,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3091,7 +3220,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3135,7 +3264,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3156,7 +3285,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3184,7 +3313,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3230,7 +3359,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3252,7 +3381,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3397,7 +3526,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3451,7 +3580,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3493,7 +3622,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3508,7 +3637,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3531,7 +3660,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3548,15 +3677,14 @@
   <P>
   Perl has no problem with the line numbers and file names for modules that
   are read from disk in the normal way, but modules that are compiled via
  -eval such as <CODE>Apache::Registry</CODE> and <CODE>Apache::PerlRun</CODE>
  -confuse it.
  -
  -<P>
  -META: Isn't PERL_MARK_WHERE=1 is a default now?
  +<CODE>eval()</CODE> such as <CODE>Apache::Registry</CODE> and 
<CODE>Apache::PerlRun</CODE>
  +sometimes with some versions of Perl get confused.
   
   <P>
  -If you compile with the experimental <STRONG>PERL_MARK_WHERE=1</STRONG>, then even 
for this kind of module Perl will show you almost the exact
  -line which triggered the error.
  +There is the Perl &lt;&lt;HEREDOC inside eval ``'' problem that confuses the Perl 
current linenumber
  +counter, newer Perls fix this. For older Perls compiling with the
  +experimental <STRONG>PERL_MARK_WHERE=1</STRONG>
  +should solve this.
   
   <P>
   There are compiler directives to reset its counter to some value that you
  @@ -3569,7 +3697,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3587,7 +3715,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3616,7 +3744,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3656,7 +3784,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3701,7 +3829,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3778,7 +3906,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3826,7 +3954,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3850,7 +3978,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3867,7 +3995,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3900,7 +4028,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3919,7 +4047,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3947,7 +4075,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3972,7 +4100,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3991,7 +4119,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4022,7 +4150,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4042,6 +4170,46 @@
   as you saw in the original example from above.
   
   <P>
  +Of course you can use 
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  print STDERR $variable;</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +or:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  warn $variable; </pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +instead of print to have all the debug messages in the error_log, which
  +makes it even easier to debug your code.
  +
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H2><A NAME="The_Importance_of_a_Good_Concise">The Importance of a Good 
Concise Coding Style</A></H2></CENTER>
  @@ -4062,7 +4230,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4101,7 +4269,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4119,7 +4287,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4140,7 +4308,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4158,7 +4326,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4176,7 +4344,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4194,7 +4362,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4216,7 +4384,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4254,7 +4422,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4371,7 +4539,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4399,7 +4567,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4425,7 +4593,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4447,7 +4615,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4471,7 +4639,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4494,7 +4662,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4526,7 +4694,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4549,7 +4717,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4571,7 +4739,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4602,7 +4770,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4621,7 +4789,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4649,7 +4817,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4677,7 +4845,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4715,7 +4883,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4742,7 +4910,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4763,7 +4931,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4789,7 +4957,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4830,7 +4998,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4875,7 +5043,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4903,7 +5071,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4924,7 +5092,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4949,7 +5117,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4970,7 +5138,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4996,7 +5164,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5019,7 +5187,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5045,7 +5213,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5078,7 +5246,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5100,7 +5268,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5123,7 +5291,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5149,7 +5317,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5200,7 +5368,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5231,7 +5399,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5277,7 +5445,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5303,7 +5471,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5321,7 +5489,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5342,7 +5510,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5395,7 +5563,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5435,7 +5603,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5470,7 +5638,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5493,7 +5661,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5519,7 +5687,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5566,7 +5734,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5593,7 +5761,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5621,7 +5789,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5644,7 +5812,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5692,7 +5860,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5710,7 +5878,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5745,7 +5913,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5780,7 +5948,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5801,7 +5969,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5820,7 +5988,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5839,7 +6007,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5860,7 +6028,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5883,7 +6051,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5932,7 +6100,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5950,7 +6118,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5968,7 +6136,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5987,7 +6155,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6005,7 +6173,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6040,7 +6208,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6062,7 +6230,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6080,7 +6248,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6099,7 +6267,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6117,7 +6285,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6138,7 +6306,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6159,7 +6327,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6181,7 +6349,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6208,7 +6376,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6240,7 +6408,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6264,7 +6432,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6290,7 +6458,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6341,7 +6509,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6360,7 +6528,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6378,7 +6546,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6408,7 +6576,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6440,7 +6608,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6470,7 +6638,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6496,7 +6664,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6528,7 +6696,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6559,7 +6727,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6597,7 +6765,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6626,7 +6794,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6662,7 +6830,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6696,7 +6864,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6726,7 +6894,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6762,7 +6930,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6779,7 +6947,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6821,7 +6989,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6861,7 +7029,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6959,11 +7127,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="multiuser.html">Prev</a>                                 |
  +      <a href="./multiuser.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="browserbugs.html">Next</a>
  +      <a href="./browserbugs.html">Next</a>
       </div>
       <p>
   
  @@ -7006,7 +7174,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/03/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/26/2000
   </font></b>
   <br>
   
  
  
  
  1.14      +27 -7     modperl-site/guide/download.html
  
  Index: download.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/download.html,v
  retrieving revision 1.13
  retrieving revision 1.14
  diff -u -r1.13 -r1.14
  --- download.html     2000/08/05 20:48:05     1.13
  +++ download.html     2000/11/26 22:02:23     1.14
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Appendix A: Downloading software and documentation</title>
  +   <title>mod_perl guide: Appendix A: Downloading software and documentation 
</title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Appendix A: Downloading software and documentation
  +      Appendix A: Downloading software and documentation 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="help.html">Prev</a>                                 |
  +      <a href="./help.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="">Next</a>
  +      
       </div>
       <p>
   
  @@ -44,7 +44,9 @@
        <LI><A HREF="#mod_throttle_access">mod_throttle_access </A>
        <LI><A HREF="#mod_proxy_add_forward">mod_proxy_add_forward</A>
        <LI><A HREF="#httperf_webserver_Benchmarking">httperf - webserver Benchmarking 
tool</A>
  +     <LI><A HREF="#http_load_another_webserver_Be">http_load - another webserver 
Benchmarking tool</A>
        <LI><A HREF="#ab_ApacheBench">ab - ApacheBench</A>
  +     <LI><A HREF="#Daquiri_yet_another_webserver_">Daquiri - yet another webserver 
Benchmarking tool</A>
        <LI><A HREF="#High_Availability_and_Load_Balan">High-Availability and Load 
Balancing Projects</A>
        <UL>
   
  @@ -241,6 +243,15 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  +<CENTER><H1><A NAME="http_load_another_webserver_Be">http_load - another webserver 
Benchmarking tool</A></H1></CENTER>
  +<P>
  +<A
  
+HREF="http://www.acme.com/software/http_load/">http://www.acme.com/software/http_load/</A>
  +
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
   <CENTER><H1><A NAME="ab_ApacheBench">ab - ApacheBench</A></H1></CENTER>
   <P>
   ApacheBench comes with the Apache distribution.
  @@ -248,6 +259,15 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  +<CENTER><H1><A NAME="Daquiri_yet_another_webserver_">Daquiri - yet another 
webserver Benchmarking tool</A></H1></CENTER>
  +<P>
  +should be available from the mod_backhand CVS tree: <A
  
+HREF="http://www.backhand.org/mod_backhand/">http://www.backhand.org/mod_backhand/</A>
  +
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
   <CENTER><H1><A NAME="High_Availability_and_Load_Balan">High-Availability and Load 
Balancing Projects</A></H1></CENTER>
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -383,11 +403,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="help.html">Prev</a>                                 |
  +      <a href="./help.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="">Next</a>
  +      
       </div>
       <p>
   
  @@ -430,7 +450,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 06/26/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/20/2000
   </font></b>
   <br>
   
  
  
  
  1.15      +6 -6      modperl-site/guide/frequent.html
  
  Index: frequent.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/frequent.html,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- frequent.html     2000/06/07 22:45:31     1.14
  +++ frequent.html     2000/11/26 22:02:24     1.15
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Frequent mod_perl problems</title>
  +   <title>mod_perl guide: Frequent mod_perl problems </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Frequent mod_perl problems
  +      Frequent mod_perl problems 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="performance.html">Prev</a>                                 |
  +      <a href="./performance.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="troubleshooting.html">Next</a>
  +      <a href="./troubleshooting.html">Next</a>
       </div>
       <p>
   
  @@ -107,11 +107,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="performance.html">Prev</a>                                 |
  +      <a href="./performance.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="troubleshooting.html">Next</a>
  +      <a href="./troubleshooting.html">Next</a>
       </div>
       <p>
   
  
  
  
  1.11      +9 -9      modperl-site/guide/hardware.html
  
  Index: hardware.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/hardware.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- hardware.html     2000/06/07 22:45:31     1.10
  +++ hardware.html     2000/11/26 22:02:24     1.11
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Choosing an Operating System and Hardware</title>
  +   <title>mod_perl guide: Choosing an Operating System and Hardware </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Choosing an Operating System and Hardware
  +      Choosing an Operating System and Hardware 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="snippets.html">Prev</a>                                 |
  +      <a href="./snippets.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="advocacy.html">Next</a>
  +      <a href="./advocacy.html">Next</a>
       </div>
       <p>
   
  @@ -483,7 +483,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -499,7 +499,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -523,7 +523,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -687,11 +687,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="snippets.html">Prev</a>                                 |
  +      <a href="./snippets.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="advocacy.html">Next</a>
  +      <a href="./advocacy.html">Next</a>
       </div>
       <p>
   
  
  
  
  1.26      +60 -10    modperl-site/guide/help.html
  
  Index: help.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/help.html,v
  retrieving revision 1.25
  retrieving revision 1.26
  diff -u -r1.25 -r1.26
  --- help.html 2000/08/21 13:18:01     1.25
  +++ help.html 2000/11/26 22:02:24     1.26
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Getting Help and Further Learning</title>
  +   <title>mod_perl guide: Getting Help and Further Learning </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Getting Help and Further Learning
  +      Getting Help and Further Learning 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="advocacy.html">Prev</a>                                 |
  +      <a href="./advocacy.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="download.html">Next</a>
  +      <a href="./download.html">Next</a>
       </div>
       <p>
   
  @@ -43,6 +43,8 @@
        <LI><A HREF="#Get_help_with_DBI">Get help with DBI</A>
        <LI><A HREF="#Get_help_with_Squid_Internet_O">Get help with Squid - Internet 
Object Cache</A>
        <LI><A HREF="#Get_help_with_CVS_Concurrent_">Get help with CVS - Concurrent 
Version Control</A>
  +     <LI><A HREF="#Get_help_with_Performance_and_Sc">Get help with Performance and 
Scalability</A>
  +     <LI><A HREF="#Get_help_with_Unix_OS_flavors_">Get help with Unix OS flavors - 
Unix OS related resources</A>
   </UL>
   
       </div>
  @@ -108,7 +110,7 @@
   <P>
   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, that you should send it directly to me. Please see the <A 
HREF="././help.html#Get_help_with_mod_perl">Get help with mod_perl</A>
  +think I might know, you should send it directly to me. Please see the <A 
HREF="././help.html#Get_help_with_mod_perl">Get help with mod_perl</A>
   section and follow the guidelines described there.
   
   <P>
  @@ -160,7 +162,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -444,8 +446,28 @@
   
HREF="http://www.gunther.web66.com/FAQS/taintmode.html">http://www.gunther.web66.com/FAQS/taintmode.html</A>
   (by Gunther Birznieks)
   
  -</UL>
  +<P><LI><STRONG><A NAME="item_cgi">cgi-list mailing list</A></STRONG>
  +<P>
  +Send email to <A HREF="mailto:[EMAIL PROTECTED]">[EMAIL PROTECTED]</A>
  +with body:
  +
   <P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  subscribe cgi-list</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    </UL>
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H1><A NAME="Get_help_with_Apache">Get help with Apache</A></H1></CENTER>
  @@ -615,17 +637,45 @@
   
   
   </UL>
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
  +<CENTER><H1><A NAME="Get_help_with_Performance_and_Sc">Get help with Performance 
and Scalability</A></H1></CENTER>
  +<UL>
  +<P><LI><STRONG><A NAME="item_Techniques">Techniques and Technologies for Scaling 
Internet Services mailing list.</A></STRONG>
  +<P>
  +The list's address: <A
  +HREF="mailto:[EMAIL PROTECTED].">[EMAIL PROTECTED]</A> Subscribe by
  +sending a message to <A
  +HREF="mailto:[EMAIL PROTECTED].">[EMAIL PROTECTED]</A>
  +
  +
  +<P><LI>
  +</UL>
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
  +<CENTER><H1><A NAME="Get_help_with_Unix_OS_flavors_">Get help with Unix OS flavors 
-- Unix OS related resources</A></H1></CENTER>
  +<UL>
  +<P><LI><STRONG><A NAME="item_Memory">Memory system management and 
arhitecture:</A></STRONG>
  +<P>
  +The Solaris memory system, sizing, tools and architecture: <A
  
+HREF="http://www.sun.com/solutions/third-party/global/SAS/pdf/vmsizing.pdf">http://www.sun.com/solutions/third-party/global/SAS/pdf/vmsizing.pdf</A>
  +
  +
  +<P><LI>
  +</UL>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   
   
       <p>
       <div class="navbar">
  -      <a href="advocacy.html">Prev</a>                                 |
  +      <a href="./advocacy.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="download.html">Next</a>
  +      <a href="./download.html">Next</a>
       </div>
       <p>
   
  @@ -668,7 +718,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/20/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/25/2000
   </font></b>
   <br>
   
  
  
  
  1.31      +27 -27    modperl-site/guide/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/index.html,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- index.html        2000/08/21 13:18:02     1.30
  +++ index.html        2000/11/26 22:02:24     1.31
  @@ -22,7 +22,7 @@
         </p>
       </center>
   
  -    <center><p><b>Version 1.26 Aug 21, 2000</b></p></center>
  +    <center><p><b>Version 1.27 Nov 26, 2000</b></p></center>
    
   
       <table align=center width="70%">
  @@ -63,79 +63,79 @@
   
          <ul>
          <div class="toc">
  -         <LI><A HREF="intro.html">Introduction. Incentives. Credits.</A></LI>
  +         <LI><A HREF="intro.html">Introduction. Incentives. Credits. </A></LI>
   
   
  -<LI><A HREF="start.html">Guide's Overview</A></LI>
  +<LI><A HREF="start.html">Guide's Overview </A></LI>
   
   
  -<LI><A HREF="perl.html">Perl Reference</A></LI>
  +<LI><A HREF="perl.html">Perl Reference </A></LI>
   
   
  -<LI><A HREF="install.html">mod_perl Installation</A></LI>
  +<LI><A HREF="install.html">mod_perl Installation </A></LI>
   
   
  -<LI><A HREF="config.html">mod_perl Configuration</A></LI>
  +<LI><A HREF="config.html">mod_perl Configuration </A></LI>
   
   
  -<LI><A HREF="control.html">Restarting Techniques</A></LI>
  +<LI><A HREF="control.html">Controlling and Monitoring the Server </A></LI>
   
   
  -<LI><A HREF="strategy.html">Choosing the Right Strategy</A></LI>
  +<LI><A HREF="strategy.html">Choosing the Right Strategy </A></LI>
   
   
  -<LI><A HREF="scenario.html">Real World Scenarios</A></LI>
  +<LI><A HREF="scenario.html">Real World Scenarios </A></LI>
   
   
  -<LI><A HREF="porting.html">CGI to mod_perl Porting. mod_perl Coding 
guidelines.</A></LI>
  +<LI><A HREF="porting.html">CGI to mod_perl Porting. mod_perl Coding guidelines. 
</A></LI>
   
   
  -<LI><A HREF="performance.html">Performance Tuning</A></LI>
  +<LI><A HREF="performance.html">Performance Tuning </A></LI>
   
   
  -<LI><A HREF="frequent.html">Frequent mod_perl problems</A></LI>
  +<LI><A HREF="frequent.html">Frequent mod_perl problems </A></LI>
   
   
  -<LI><A HREF="troubleshooting.html">Warnings and Errors Troubleshooting 
Index</A></LI>
  +<LI><A HREF="troubleshooting.html">Warnings and Errors Troubleshooting Index 
</A></LI>
   
   
  -<LI><A HREF="correct_headers.html">Issuing Correct HTTP Headers</A></LI>
  +<LI><A HREF="correct_headers.html">Issuing Correct HTTP Headers </A></LI>
   
   
  -<LI><A HREF="security.html">Protecting Your Site</A></LI>
  +<LI><A HREF="security.html">Protecting Your Site </A></LI>
   
   
  -<LI><A HREF="databases.html">mod_perl and Relational Databases</A></LI>
  +<LI><A HREF="databases.html">mod_perl and Relational Databases </A></LI>
   
   
  -<LI><A HREF="dbm.html">mod_perl and dbm files</A></LI>
  +<LI><A HREF="dbm.html">mod_perl and dbm files </A></LI>
   
   
  -<LI><A HREF="multiuser.html">mod_perl for ISPs. mod_perl and Virtual Hosts</A></LI>
  +<LI><A HREF="multiuser.html">mod_perl for ISPs. mod_perl and Virtual Hosts </A></LI>
   
   
  -<LI><A HREF="debug.html">Debugging mod_perl</A></LI>
  +<LI><A HREF="debug.html">Debugging mod_perl </A></LI>
   
   
  -<LI><A HREF="browserbugs.html">Workarounds for some known bugs in browsers.</A></LI>
  +<LI><A HREF="browserbugs.html">Workarounds for some known bugs in browsers. 
</A></LI>
   
   
  -<LI><A HREF="modules.html">Apache::* modules</A></LI>
  +<LI><A HREF="modules.html">Apache::* modules </A></LI>
   
   
  -<LI><A HREF="snippets.html">Code Snippets</A></LI>
  +<LI><A HREF="snippets.html">Code Snippets </A></LI>
   
   
  -<LI><A HREF="hardware.html">Choosing an Operating System and Hardware</A></LI>
  +<LI><A HREF="hardware.html">Choosing an Operating System and Hardware </A></LI>
   
   
  -<LI><A HREF="advocacy.html">mod_perl Advocacy</A></LI>
  +<LI><A HREF="advocacy.html">mod_perl Advocacy </A></LI>
   
   
  -<LI><A HREF="help.html">Getting Help and Further Learning</A></LI>
  +<LI><A HREF="help.html">Getting Help and Further Learning </A></LI>
   
   
  -<LI><A HREF="download.html">Appendix A: Downloading software and 
documentation</A></LI>
  +<LI><A HREF="download.html">Appendix A: Downloading software and documentation 
</A></LI>
   
   
          </div>
  @@ -325,7 +325,7 @@
            <b><font size=-1>
                Written by <a
                  href="help.html#Contacting_me">Stas
  -               Bekman</a>.<br> Last Modified at 08/21/2000
  +               Bekman</a>.<br> Last Modified at 11/26/2000
              </font></b>
            <br>
            
  
  
  
  1.5       +66 -51    modperl-site/guide/index_long.html
  
  Index: index_long.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/index_long.html,v
  retrieving revision 1.4
  retrieving revision 1.5
  diff -u -r1.4 -r1.5
  --- index_long.html   2000/08/21 13:18:02     1.4
  +++ index_long.html   2000/11/26 22:02:25     1.5
  @@ -22,7 +22,7 @@
         </p>
       </center>
   
  -    <center><p><b>Version 1.26 Aug 21, 2000</b></p></center>
  +    <center><p><b>Version 1.27 Nov 26, 2000</b></p></center>
    
   
       <table align=center width="70%">
  @@ -63,7 +63,7 @@
   
          <ul>
          <div class="toc">
  -         <LI><A HREF="intro.html"><B><FONT SIZE=+1>Introduction. Incentives. 
Credits.</FONT></B></A></LI><P>
  +         <LI><A HREF="intro.html"><B><FONT SIZE=+1>Introduction. Incentives. 
Credits. </FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="intro.html#What_is_mod_perl">What is mod_perl</A>
  @@ -81,13 +81,13 @@
        <LI><A HREF="intro.html#References_and_Acknowledgments">References and 
Acknowledgments</A>
   </UL>
   <P>
  -<LI><A HREF="start.html"><B><FONT SIZE=+1>Guide's Overview</FONT></B></A></LI><P>
  +<LI><A HREF="start.html"><B><FONT SIZE=+1>Guide's Overview </FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="start.html#What_s_inside_">What's inside?</A>
   </UL>
   <P>
  -<LI><A HREF="perl.html"><B><FONT SIZE=+1>Perl Reference</FONT></B></A></LI><P>
  +<LI><A HREF="perl.html"><B><FONT SIZE=+1>Perl Reference </FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="perl.html#A_Must_Read_">A Must Read!</A>
  @@ -113,6 +113,7 @@
                <LI><A HREF="perl.html#The_Remedy">The Remedy</A>
        </UL>
   
  +     <LI><A HREF="perl.html#Understanding_Closures_the_Ea">Understanding Closures 
-- the Easy Way</A>
        <LI><A HREF="perl.html#When_You_Cannot_Get_Rid_of_The_I">When You Cannot Get 
Rid of The Inner Subroutine</A>
        <UL>
   
  @@ -170,7 +171,7 @@
   
   </UL>
   <P>
  -<LI><A HREF="install.html"><B><FONT SIZE=+1>mod_perl 
Installation</FONT></B></A></LI><P>
  +<LI><A HREF="install.html"><B><FONT SIZE=+1>mod_perl Installation 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="install.html#A_Summary_of_a_Basic_mod_perl_In">A Summary of a 
Basic mod_perl Installation</A>
  @@ -190,7 +191,6 @@
                                <LI><A HREF="install.html#PERL_TRACE">PERL_TRACE</A>
                                <LI><A 
HREF="install.html#APACHE_HEADER_INSTALL">APACHE_HEADER_INSTALL</A>
                                <LI><A 
HREF="install.html#PERL_STATIC_EXTS">PERL_STATIC_EXTS</A>
  -                             <LI><A 
HREF="install.html#PERL_MARK_WHERE">PERL_MARK_WHERE</A>
                                <LI><A HREF="install.html#APACI_ARGS">APACI_ARGS</A>
                                <LI><A 
HREF="install.html#APACHE_PREFIX">APACHE_PREFIX</A>
                        </UL>
  @@ -279,6 +279,7 @@
                        <LI><A 
HREF="install.html#Static_mod_perl_and_dynamic_Rave">Static mod_perl and dynamic Raven 
SSL Installation</A>
                </UL>
   
  +             <LI><A HREF="install.html#mod_perl_and_mod_php">mod_perl and 
mod_php</A>
        </UL>
   
        <LI><A HREF="install.html#mod_perl_Installation_with_the_C">mod_perl 
Installation with the CPAN.pm Interactive Shell</A>
  @@ -337,9 +338,10 @@
        </UL>
   
        <LI><A HREF="install.html#OS_Related_Notes">OS Related Notes</A>
  +     <LI><A HREF="install.html#Pros_and_Cons_of_Building_mod_pe">Pros and Cons of 
Building mod_perl as DSO</A>
   </UL>
   <P>
  -<LI><A HREF="config.html"><B><FONT SIZE=+1>mod_perl 
Configuration</FONT></B></A></LI><P>
  +<LI><A HREF="config.html"><B><FONT SIZE=+1>mod_perl Configuration 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="config.html#Server_Configuration">Server Configuration</A>
  @@ -419,7 +421,7 @@
        <LI><A HREF="config.html#Adding_Custom_Configuration_Dire">Adding Custom 
Configuration Directives </A>
   </UL>
   <P>
  -<LI><A HREF="control.html"><B><FONT SIZE=+1>Restarting 
Techniques</FONT></B></A></LI><P>
  +<LI><A HREF="control.html"><B><FONT SIZE=+1>Controlling and Monitoring the Server 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="control.html#Restarting_Techniques">Restarting Techniques</A>
  @@ -462,7 +464,7 @@
   
   </UL>
   <P>
  -<LI><A HREF="strategy.html"><B><FONT SIZE=+1>Choosing the Right 
Strategy</FONT></B></A></LI><P>
  +<LI><A HREF="strategy.html"><B><FONT SIZE=+1>Choosing the Right Strategy 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="strategy.html#Do_it_like_I_do_it_">Do it like I do it!?</A>
  @@ -483,7 +485,7 @@
                <LI><A HREF="strategy.html#Apache_s_mod_proxy">Apache's mod_proxy</A>
        </UL>
   
  -     <LI><A HREF="strategy.html#When_One_Machine_is_not_Enough_f">When One Machine 
is not Enough for SQL DB and mod_perl</A>
  +     <LI><A HREF="strategy.html#When_One_Machine_is_not_Enough_f">When One Machine 
is not Enough for RDBMS DataBase and mod_perl</A>
        <UL>
   
                <LI><A HREF="strategy.html#Servers_Requirements">Servers' 
Requirements</A>
  @@ -498,14 +500,14 @@
                <LI><A HREF="strategy.html#Three_Machines_Model">Three Machines 
Model</A>
        </UL>
   
  -     <LI><A HREF="strategy.html#Do_Not_Run_Everything_on_One_mod">Do Not Run 
Everything on One mod_perl Server</A>
  -     <LI><A HREF="strategy.html#Do_Not_Put_mod_ssl_into_a_mod_pe">Do Not Put 
mod_ssl into a mod_perl Server</A>
  -     <LI><A HREF="strategy.html#Pros_and_Cons_of_Building_mod_pe">Pros and Cons of 
Building mod_perl as DSO</A>
  +     <LI><A HREF="strategy.html#Running_More_than_One_mod_perl_S">Running More than 
One mod_perl Server on the Same Machine.</A>
  +     <LI><A HREF="strategy.html#SSL_functionality_and_a_mod_perl">SSL functionality 
and a mod_perl Server</A>
   </UL>
   <P>
  -<LI><A HREF="scenario.html"><B><FONT SIZE=+1>Real World 
Scenarios</FONT></B></A></LI><P>
  +<LI><A HREF="scenario.html"><B><FONT SIZE=+1>Real World Scenarios 
</FONT></B></A></LI><P>
   <UL>
   
  +     <LI><A HREF="scenario.html#Assumptions">Assumptions </A>
        <LI><A HREF="scenario.html#Standalone_mod_perl_Enabled_Apac">Standalone 
mod_perl Enabled Apache Server</A>
        <UL>
   
  @@ -535,13 +537,6 @@
   
        <LI><A HREF="scenario.html#Running_Two_webservers_and_Squid">Running Two 
webservers and Squid in httpd Accelerator Mode</A>
        <LI><A HREF="scenario.html#Running_One_Webserver_and_Squid_">Running One 
Webserver and Squid in httpd Accelerator Mode</A>
  -     <LI><A HREF="scenario.html#One_Light_and_One_Heavy_Server_w">One Light and One 
Heavy Server where All HTML is Perl-generated</A>
  -     <UL>
  -
  -             <LI><A 
HREF="scenario.html#Installation_and_Configuration">Installation and Configuration</A>
  -             <LI><A HREF="scenario.html#Tricks_Traps_and_Gotchas">Tricks, Traps and 
Gotchas</A>
  -     </UL>
  -
        <LI><A HREF="scenario.html#mod_proxy">mod_proxy</A>
        <UL>
   
  @@ -554,20 +549,16 @@
                </UL>
   
                <LI><A HREF="scenario.html#Buffering_Feature">Buffering Feature</A>
  +             <LI><A HREF="scenario.html#Setting_the_Buffering_Limits_on_">Setting 
the Buffering Limits on Various OSs</A>
                <UL>
  -
  -                     <LI><A 
HREF="scenario.html#Setting_the_Buffering_Limits_on_">Setting the Buffering Limits on 
Various OSs</A>
  -                     <UL>
  -
  -                             <LI><A 
HREF="scenario.html#IOBUFSIZE_Source_Code_Definition">IOBUFSIZE Source Code 
Definition</A>
  -                             <LI><A 
HREF="scenario.html#ProxyReceiveBufferSize_Configura">ProxyReceiveBufferSize 
Configuration Directive</A>
  -                             <LI><A HREF="scenario.html#Hacking_the_Code">Hacking 
the Code</A>
  -                     </UL>
   
  +                     <LI><A 
HREF="scenario.html#IOBUFSIZE_Source_Code_Definition">IOBUFSIZE Source Code 
Definition</A>
  +                     <LI><A 
HREF="scenario.html#ProxyReceiveBufferSize_Configura">ProxyReceiveBufferSize 
Configuration Directive</A>
  +                     <LI><A HREF="scenario.html#Hacking_the_Code">Hacking the 
Code</A>
                </UL>
   
  -             <LI><A HREF="scenario.html#Caching">Caching</A>
  -             <LI><A HREF="scenario.html#Build_process">Build process</A>
  +             <LI><A HREF="scenario.html#Caching_Feature">Caching Feature</A>
  +             <LI><A HREF="scenario.html#Build_Process">Build Process</A>
        </UL>
   
        <LI><A HREF="scenario.html#Front_end_Back_end_Proxying_with">Front-end 
Back-end Proxying with Virtual Hosts</A>
  @@ -575,7 +566,7 @@
        <UL>
   
                <LI><A HREF="scenario.html#Build">Build</A>
  -             <LI><A HREF="scenario.html#Use">Use</A>
  +             <LI><A HREF="scenario.html#Usage">Usage</A>
                <LI><A HREF="scenario.html#Security">Security</A>
                <LI><A HREF="scenario.html#Caveats">Caveats</A>
                <LI><A 
HREF="scenario.html#mod_proxy_add_forward_Module_s_O">mod_proxy_add_forward Module's 
Order Precedence</A>
  @@ -586,7 +577,7 @@
        <LI><A HREF="scenario.html#Caching_in_mod_proxy">Caching in mod_proxy</A>
   </UL>
   <P>
  -<LI><A HREF="porting.html"><B><FONT SIZE=+1>CGI to mod_perl Porting. mod_perl 
Coding guidelines.</FONT></B></A></LI><P>
  +<LI><A HREF="porting.html"><B><FONT SIZE=+1>CGI to mod_perl Porting. mod_perl 
Coding guidelines. </FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="porting.html#Document_Coverage">Document Coverage</A>
  @@ -613,6 +604,16 @@
   
                <LI><A HREF="porting.html#Restarting_the_server">Restarting the 
server</A>
                <LI><A HREF="porting.html#Using_Apache_StatINC_for_the_De">Using 
Apache::StatINC for the Development Process</A>
  +             <LI><A HREF="porting.html#Using_Apache_Reload">Using Apache::Reload 
</A>
  +             <UL>
  +
  +                     <LI><A 
HREF="porting.html#Register_Modules_Implicitly">Register Modules Implicitly</A>
  +                     <LI><A 
HREF="porting.html#Register_Modules_Explicitly">Register Modules Explicitly</A>
  +                     <LI><A HREF="porting.html#Special_Touch_File">Special 
&quot;Touch&quot; File</A>
  +                     <LI><A HREF="porting.html#Caveats">Caveats</A>
  +                     <LI><A HREF="porting.html#Availability">Availability</A>
  +             </UL>
  +
                <LI><A 
HREF="porting.html#Configuration_Files_Writing_Dy">Configuration Files: Writing, 
Dynamically Updating and Reloading</A>
                <UL>
   
  @@ -631,6 +632,7 @@
        <LI><A HREF="porting.html#Using_format_and_write_">Using format() and 
write()</A>
        <LI><A HREF="porting.html#Terminating_requests_and_process">Terminating 
requests and processes, the exit() and child_terminate() functions</A>
        <LI><A HREF="porting.html#die_and_mod_perl">die() and mod_perl</A>
  +     <LI><A HREF="porting.html#Return_Codes">Return Codes</A>
        <LI><A HREF="porting.html#Testing_the_Code_from_the_Shell">Testing the Code 
from the Shell</A>
        <LI><A HREF="porting.html#I_O_is_different">I/O is different</A>
        <LI><A HREF="porting.html#STDIN_STDOUT_and_STDERR_streams">STDIN, STDOUT and 
STDERR streams</A>
  @@ -670,7 +672,7 @@
   
   </UL>
   <P>
  -<LI><A HREF="performance.html"><B><FONT SIZE=+1>Performance 
Tuning</FONT></B></A></LI><P>
  +<LI><A HREF="performance.html"><B><FONT SIZE=+1>Performance Tuning 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="performance.html#The_Big_Picture">The Big Picture</A>
  @@ -735,6 +737,7 @@
   
                <LI><A HREF="performance.html#Tuning_with_ab_ApacheBench">Tuning with 
ab - ApacheBench </A>
                <LI><A HREF="performance.html#Tuning_with_httperf">Tuning with 
httperf</A>
  +             <LI><A HREF="performance.html#Tuning_with_http_load">Tuning with 
http_load</A>
                <LI><A HREF="performance.html#Tuning_with_the_crashme_Script">Tuning 
with the crashme Script</A>
                <LI><A HREF="performance.html#Choosing_MaxClients">Choosing 
MaxClients</A>
                <LI><A HREF="performance.html#Choosing_MaxRequestsPerChild">Choosing 
MaxRequestsPerChild</A>
  @@ -830,9 +833,9 @@
        <UL>
   
                <LI><A HREF="performance.html#Proxying_the_mod_perl_Server">Proxying 
the mod_perl Server</A>
  -             <LI><A 
HREF="performance.html#Upload_Download_of_Big_Files">Upload/Download of Big Files</A>
        </UL>
   
  +     <LI><A HREF="performance.html#Upload_and_Download_of_Big_Files">Upload and 
Download of Big Files</A>
        <LI><A HREF="performance.html#Apache_mod_perl_Build_Options">Apache/mod_perl 
Build Options</A>
        <UL>
   
  @@ -848,7 +851,7 @@
   
   </UL>
   <P>
  -<LI><A HREF="frequent.html"><B><FONT SIZE=+1>Frequent mod_perl 
problems</FONT></B></A></LI><P>
  +<LI><A HREF="frequent.html"><B><FONT SIZE=+1>Frequent mod_perl problems 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="frequent.html#Coverage">Coverage</A>
  @@ -856,7 +859,7 @@
        <LI><A HREF="frequent.html#Segfaults_caused_by_PerlFreshRes">Segfaults caused 
by PerlFreshRestart</A>
   </UL>
   <P>
  -<LI><A HREF="troubleshooting.html"><B><FONT SIZE=+1>Warnings and Errors 
Troubleshooting Index</FONT></B></A></LI><P>
  +<LI><A HREF="troubleshooting.html"><B><FONT SIZE=+1>Warnings and Errors 
Troubleshooting Index </FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="troubleshooting.html#General_Advice">General Advice </A>
  @@ -885,6 +888,7 @@
        <LI><A HREF="troubleshooting.html#Runtime">Runtime</A>
        <UL>
   
  +             <LI><A HREF="troubleshooting.html#foo_at_dev_null_line_0">foo ... at 
/dev/null line 0</A>
                <LI><A 
HREF="troubleshooting.html#Preventing_mod_perl_Processes_Fr">Preventing mod_perl 
Processes From Going Wild</A>
                <LI><A 
HREF="troubleshooting.html#Segfaults_when_using_XML_Parser">Segfaults when using 
XML::Parser</A>
                <LI><A HREF="troubleshooting.html#My_CGI_Perl_Code_Gets_Returned_a">My 
CGI/Perl Code Gets Returned as Plain Text Instead of Being Executed by the 
Webserver</A>
  @@ -911,6 +915,7 @@
                <LI><A HREF="troubleshooting.html#Can_t_undef_active_subroutine">Can't 
undef active subroutine</A>
                <LI><A 
HREF="troubleshooting.html#_warn_child_process_30388_did_n">[warn] child process 30388 
did not exit, sending another SIGHUP</A>
                <LI><A 
HREF="troubleshooting.html#Processes_Get_Stuck_on_Graceful_">Processes Get Stuck on 
Graceful Restart</A>
  +             <LI><A 
HREF="troubleshooting.html#httpd_keeps_on_growing_after_eac">httpd keeps on growing 
after each restart</A>
        </UL>
   
        <LI><A HREF="troubleshooting.html#Windows_OS_specific_notes">Windows OS 
specific notes</A>
  @@ -921,7 +926,7 @@
   
   </UL>
   <P>
  -<LI><A HREF="correct_headers.html"><B><FONT SIZE=+1>Issuing Correct HTTP 
Headers</FONT></B></A></LI><P>
  +<LI><A HREF="correct_headers.html"><B><FONT SIZE=+1>Issuing Correct HTTP Headers 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="correct_headers.html#SYNOPSIS">SYNOPSIS</A>
  @@ -963,9 +968,10 @@
                <LI><A HREF="correct_headers.html#_5_">[5]</A>
        </UL>
   
  +     <LI><A HREF="correct_headers.html#Other_resources">Other resources</A>
   </UL>
   <P>
  -<LI><A HREF="security.html"><B><FONT SIZE=+1>Protecting Your 
Site</FONT></B></A></LI><P>
  +<LI><A HREF="security.html"><B><FONT SIZE=+1>Protecting Your Site 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="security.html#The_Importance_of_Your_site_s_Se">The Importance of 
Your site's Security</A>
  @@ -985,7 +991,7 @@
        <LI><A HREF="security.html#Apache_Auth_modules">Apache:Auth* modules</A>
   </UL>
   <P>
  -<LI><A HREF="databases.html"><B><FONT SIZE=+1>mod_perl and Relational 
Databases</FONT></B></A></LI><P>
  +<LI><A HREF="databases.html"><B><FONT SIZE=+1>mod_perl and Relational Databases 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="databases.html#Why_Relational_SQL_Databases">Why Relational (SQL) 
Databases</A>
  @@ -1022,7 +1028,7 @@
   
   </UL>
   <P>
  -<LI><A HREF="dbm.html"><B><FONT SIZE=+1>mod_perl and dbm 
files</FONT></B></A></LI><P>
  +<LI><A HREF="dbm.html"><B><FONT SIZE=+1>mod_perl and dbm files 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="dbm.html#Where_and_Why_to_use_dbm_files">Where and Why to use dbm 
files</A>
  @@ -1034,14 +1040,19 @@
        <LI><A HREF="dbm.html#DB_File_Lock2">DB_File::Lock2</A>
   </UL>
   <P>
  -<LI><A HREF="multiuser.html"><B><FONT SIZE=+1>mod_perl for ISPs. mod_perl and 
Virtual Hosts</FONT></B></A></LI><P>
  +<LI><A HREF="multiuser.html"><B><FONT SIZE=+1>mod_perl for ISPs. mod_perl and 
Virtual Hosts </FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="multiuser.html#ISPs_providing_mod_perl_services">ISPs providing 
mod_perl services - a fantasy or a reality</A>
  +     <UL>
  +
  +             <LI><A HREF="multiuser.html#Other_resources_related_to_mod_p">Other 
resources related to mod_perl hosting to look at</A>
  +     </UL>
  +
        <LI><A HREF="multiuser.html#Virtual_Hosts_in_the_guide">Virtual Hosts in the 
guide</A>
   </UL>
   <P>
  -<LI><A HREF="debug.html"><B><FONT SIZE=+1>Debugging mod_perl</FONT></B></A></LI><P>
  +<LI><A HREF="debug.html"><B><FONT SIZE=+1>Debugging mod_perl </FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="debug.html#Warning_and_Errors_Explained">Warning and Errors 
Explained</A>
  @@ -1140,14 +1151,14 @@
        <LI><A HREF="debug.html#Apache_DebugInfo_Log_Various_">Apache::DebugInfo - Log 
Various Bits Of Per-Request Data</A>
   </UL>
   <P>
  -<LI><A HREF="browserbugs.html"><B><FONT SIZE=+1>Workarounds for some known bugs in 
browsers.</FONT></B></A></LI><P>
  +<LI><A HREF="browserbugs.html"><B><FONT SIZE=+1>Workarounds for some known bugs in 
browsers. </FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="browserbugs.html#Preventing_QUERY_STRING_from_get">Preventing 
QUERY_STRING from getting corrupted because of &amp;entity key names</A>
        <LI><A HREF="browserbugs.html#IE_4_x_does_not_re_post_data_to_">IE 4.x does 
not re-post data to a non-port-80 URL</A>
   </UL>
   <P>
  -<LI><A HREF="modules.html"><B><FONT SIZE=+1>Apache::* modules</FONT></B></A></LI><P>
  +<LI><A HREF="modules.html"><B><FONT SIZE=+1>Apache::* modules 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="modules.html#Apache_Session_Maintain_sessi">Apache::Session - 
Maintain session state across HTTP requests</A>
  @@ -1170,7 +1181,7 @@
        <LI><A HREF="modules.html#Apache_SubProcess">Apache::SubProcess</A>
   </UL>
   <P>
  -<LI><A HREF="snippets.html"><B><FONT SIZE=+1>Code Snippets</FONT></B></A></LI><P>
  +<LI><A HREF="snippets.html"><B><FONT SIZE=+1>Code Snippets </FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="snippets.html#Redirecting_Errors_to_the_Client">Redirecting 
Errors to the Client Instead of error_log</A>
  @@ -1207,7 +1218,7 @@
        <LI><A HREF="snippets.html#Mysql_Backup_and_Restore_Scripts">Mysql Backup and 
Restore Scripts</A>
   </UL>
   <P>
  -<LI><A HREF="hardware.html"><B><FONT SIZE=+1>Choosing an Operating System and 
Hardware</FONT></B></A></LI><P>
  +<LI><A HREF="hardware.html"><B><FONT SIZE=+1>Choosing an Operating System and 
Hardware </FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="hardware.html#Is_it_important_">Is it important?</A>
  @@ -1247,7 +1258,7 @@
   
   </UL>
   <P>
  -<LI><A HREF="advocacy.html"><B><FONT SIZE=+1>mod_perl 
Advocacy</FONT></B></A></LI><P>
  +<LI><A HREF="advocacy.html"><B><FONT SIZE=+1>mod_perl Advocacy 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="advocacy.html#Thoughts_about_scalability_and_f">Thoughts about 
scalability and flexibility</A>
  @@ -1255,7 +1266,7 @@
        <LI><A HREF="advocacy.html#A_summary_of_perl_cgi_discussion">A summary of 
perl/cgi discussion at slashdot.org</A>
   </UL>
   <P>
  -<LI><A HREF="help.html"><B><FONT SIZE=+1>Getting Help and Further 
Learning</FONT></B></A></LI><P>
  +<LI><A HREF="help.html"><B><FONT SIZE=+1>Getting Help and Further Learning 
</FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="help.html#READ_ME_FIRST">READ ME FIRST</A>
  @@ -1267,9 +1278,11 @@
        <LI><A HREF="help.html#Get_help_with_DBI">Get help with DBI</A>
        <LI><A HREF="help.html#Get_help_with_Squid_Internet_O">Get help with Squid - 
Internet Object Cache</A>
        <LI><A HREF="help.html#Get_help_with_CVS_Concurrent_">Get help with CVS -- 
Concurrent Version Control</A>
  +     <LI><A HREF="help.html#Get_help_with_Performance_and_Sc">Get help with 
Performance and Scalability</A>
  +     <LI><A HREF="help.html#Get_help_with_Unix_OS_flavors_">Get help with Unix OS 
flavors -- Unix OS related resources</A>
   </UL>
   <P>
  -<LI><A HREF="download.html"><B><FONT SIZE=+1>Appendix A: Downloading software and 
documentation</FONT></B></A></LI><P>
  +<LI><A HREF="download.html"><B><FONT SIZE=+1>Appendix A: Downloading software and 
documentation </FONT></B></A></LI><P>
   <UL>
   
        <LI><A HREF="download.html#Coverage">Coverage</A>
  @@ -1282,7 +1295,9 @@
        <LI><A HREF="download.html#mod_throttle_access">mod_throttle_access </A>
        <LI><A HREF="download.html#mod_proxy_add_forward">mod_proxy_add_forward</A>
        <LI><A HREF="download.html#httperf_webserver_Benchmarking">httperf - webserver 
Benchmarking tool</A>
  +     <LI><A HREF="download.html#http_load_another_webserver_Be">http_load - another 
webserver Benchmarking tool</A>
        <LI><A HREF="download.html#ab_ApacheBench">ab - ApacheBench</A>
  +     <LI><A HREF="download.html#Daquiri_yet_another_webserver_">Daquiri - yet 
another webserver Benchmarking tool</A>
        <LI><A HREF="download.html#High_Availability_and_Load_Balan">High-Availability 
and Load Balancing Projects</A>
        <UL>
   
  @@ -1488,7 +1503,7 @@
            <b><font size=-1>
                Written by <a
                  href="help.html#Contacting_me">Stas
  -               Bekman</a>.<br> Last Modified at 08/21/2000
  +               Bekman</a>.<br> Last Modified at 11/26/2000
              </font></b>
            <br>
            
  
  
  
  1.18      +618 -368  modperl-site/guide/install.html
  
  Index: install.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/install.html,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- install.html      2000/08/21 13:18:02     1.17
  +++ install.html      2000/11/26 22:02:25     1.18
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: mod_perl Installation</title>
  +   <title>mod_perl guide: mod_perl Installation </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      mod_perl Installation
  +      mod_perl Installation 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="perl.html">Prev</a>                                 |
  +      <a href="./perl.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="config.html">Next</a>
  +      <a href="./config.html">Next</a>
       </div>
       <p>
   
  @@ -51,7 +51,6 @@
                                <LI><A HREF="#PERL_TRACE">PERL_TRACE</A>
                                <LI><A 
HREF="#APACHE_HEADER_INSTALL">APACHE_HEADER_INSTALL</A>
                                <LI><A HREF="#PERL_STATIC_EXTS">PERL_STATIC_EXTS</A>
  -                             <LI><A HREF="#PERL_MARK_WHERE">PERL_MARK_WHERE</A>
                                <LI><A HREF="#APACI_ARGS">APACI_ARGS</A>
                                <LI><A HREF="#APACHE_PREFIX">APACHE_PREFIX</A>
                        </UL>
  @@ -140,6 +139,7 @@
                        <LI><A HREF="#Static_mod_perl_and_dynamic_Rave">Static 
mod_perl and dynamic Raven SSL Installation</A>
                </UL>
   
  +             <LI><A HREF="#mod_perl_and_mod_php">mod_perl and mod_php</A>
        </UL>
   
        <LI><A HREF="#mod_perl_Installation_with_the_C">mod_perl Installation with the 
CPAN.pm Interactive Shell</A>
  @@ -198,6 +198,7 @@
        </UL>
   
        <LI><A HREF="#OS_Related_Notes">OS Related Notes</A>
  +     <LI><A HREF="#Pros_and_Cons_of_Building_mod_pe">Pros and Cons of Building 
mod_perl as DSO</A>
   </UL>
   
       </div>
  @@ -251,7 +252,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -290,7 +291,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -309,7 +310,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -388,7 +389,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -410,7 +411,7 @@
   
   <P>
   The source configuration mechanism in Apache 1.3 provides four major
  -features from which mod_perl can benefit:
  +features (which of course are available to mod_perl):
   
   <DL>
   <P><DT><STRONG><A NAME="item_Per">Per-module configuration scripts 
(ConfigStart/End)</A></STRONG><DD>
  @@ -419,12 +420,12 @@
   configuration process. It is useful for automatically adjusting the
   configuration and build parameters from the modules sources. It is
   triggered by <CODE>ConfigStart</CODE>/<CODE>ConfigEnd</CODE> sections inside
  -<EM>modulename</EM><CODE>.module</CODE> files.
  +<EM>modulename.module</EM> files (e.g. <EM>libperl.module</EM>).
   
   <P><DT><STRONG><A NAME="item_Apache">Apache Autoconf-style Interface 
(APACI)</A></STRONG><DD>
   <P>
   This is the new top-level <CODE>configure</CODE> script from Apache 1.3 which 
provides a GNU Autoconf-style interface. It is
  -useful for configuring the source tree without manually editing any 
<CODE>src/Configuration</CODE>
  +useful for configuring the source tree without manually editing any 
<EM>src/Configuration</EM>
   files. Any parameterization can be done via command line options to the 
<CODE>configure</CODE> script. Internally this is just a nifty wrapper to the old 
<CODE>src/Configure</CODE> script.
   
   <P>
  @@ -436,36 +437,71 @@
   <P><DT><STRONG><A NAME="item_Dynamic">Dynamic Shared Object (DSO) 
support</A></STRONG><DD>
   <P>
   Besides Windows NT support this is one of most interesting features in
  -Apache 1.3. Its a way to build Apache modules as so-called <CODE>dynamic
  -shared objects</CODE> (usually named <EM>modulename</EM><CODE>.so</CODE>) which can 
be loaded via the <CODE>LoadModule</CODE> directive in Apache's 
<CODE>httpd.conf</CODE> file. The benefit is that the modules are part of the 
<CODE>httpd</CODE> program only on demand, i.e. only when the user wants a module is 
it loaded
  -into the address space of the <CODE>httpd</CODE> executable. This is interesting 
for instance in relation to memory
  +Apache 1.3. Its a way to build Apache modules as so-called <EM>dynamic
  +shared objects</EM> (usually named <EM>modulename.so</EM>) which can be loaded via 
the <CODE>LoadModule</CODE> directive in Apache's <EM>httpd.conf</EM> file. The 
benefit is that the modules are part of the <CODE>httpd</CODE> executable only on 
demand, i.e. only when the user wants a module it is
  +loaded into the address space of the <CODE>httpd</CODE> executable. This is 
interesting for instance in relation to memory
   consumption and upgrading.
   
   <P>
  -The DSO mechanism is provided by Apache's <CODE>mod_so</CODE> module which needs to 
be compiled into the <CODE>httpd</CODE> binary. This is done automatically when DSO is 
enabled for module <CODE>mod_xxx</CODE> via <CODE>configure
  ---enable-module=xxx</CODE> or by explicitly adding <CODE>mod_so</CODE> via 
<CODE>configure
  ---enable-module=so</CODE>.
  +The DSO mechanism is provided by Apache's <CODE>mod_so</CODE> module which needs to 
be compiled into the <CODE>httpd</CODE> binary. This is done automatically when DSO is 
enabled for module <CODE>mod_foo</CODE> via:
   
  -<P><DT><STRONG><A NAME="item_APache">APache eXtenSion (APXS) support 
tool</A></STRONG><DD>
   <P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  ./configure --enable-module=foo</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +or by explicitly adding <CODE>mod_so</CODE> via:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  ./configure --enable-module=so&gt;.</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P><DT><STRONG><A NAME="item_APache">APache eXtenSion (APXS) support 
tool</A></STRONG><DD>
  +<P>
   This is a new support tool from Apache 1.3 which can be used to build an
   Apache module as a DSO even <STRONG>outside</STRONG> the Apache source-tree. One 
can say <CODE>APXS</CODE> is for Apache what <CODE>MakeMaker</CODE> and 
<CODE>XS</CODE> are for Perl. It knows the platform dependent build parameters for 
making
   DSO files and provides an easy way to run the build commands with them.
   
  +<P>
  +(<CODE>MakeMaker</CODE> allows an easy automatic configuration, build, testing and 
installation of
  +the Perl modules, and <CODE>XS</CODE> allows to call functions implemented in C/C++ 
from Perl code.)
  +
   </DL>
   <P>
   Taking these four features together provides a way to integrate mod_perl
  -into Apache in a very clean and smooth way.  <EM>No patching of
  -the Apache source tree is needed in the standard situation and in the
  -APXS situation not even the Apache source tree is needed</EM>.
  +into Apache in a very clean and smooth way.  <EM>No patching</EM>
  +of the Apache source tree is needed in the standard situation and in the
  +APXS situation not even the Apache source tree is needed.
   
   <P>
   To benefit from the above features a new hybrid build environment was
  -created for the Apache side of mod_perl. The Apache-side consists of the C
  -source files of mod_perl which have to be compiled into the
  +created for the Apache side of mod_perl. The Apache-side consists of the
  +mod_perl C source files which have to be compiled into the
   <CODE>httpd</CODE> program. They are usually copied to the subdirectory
  -<CODE>src/modules/perl/</CODE> in the Apache source tree. To integrate this subtree 
into the Apache build
  -process a lot of adjustments were done by mod_perl's <CODE>Makefile.PL</CODE> in 
the past. And additionally the
  +<EM>src/modules/perl/</EM> in the Apache source tree. To integrate this subtree 
into the Apache build
  +process a lot of adjustments were done by mod_perl's <EM>Makefile.PL</EM> in the 
past. And additionally the
   <CODE>Makefile.PL</CODE> controlled the Apache build process.
   
   <P>
  @@ -475,7 +511,7 @@
   
   <P>
   The new approach described below avoids these problems. It prepares only
  -the <CODE>src/modules/perl/</CODE> subtree inside the Apache source tree
  +the <EM>src/modules/perl/</EM> subtree inside the Apache source tree
   <EM>without</EM> adjusting or editing anything else. This way, no conflicts can 
occur.
   Instead, mod_perl is activated later (when the Apache source tree is
   configured, via APACI calls) and then it configures itself.
  @@ -490,7 +526,8 @@
   <HR>
   <CENTER><H3><A NAME="Configuration_parameters">Configuration 
parameters</A></H3></CENTER>
   <P>
  -<CODE>perl Makefile.PL</CODE> accepts various parameters. In this section we will 
learn what they are,
  +The command <CODE>perl Makefile.PL</CODE>, which is also known as a
  +<EM>"configuration stage"</EM>, accepts various parameters. In this section we will 
learn what they are,
   and when should they be used.
   
   <P>
  @@ -498,19 +535,20 @@
   <HR>
   <CENTER><H4><A NAME="APACHE_SRC">APACHE_SRC</A></H4></CENTER>
   <P>
  -You will be asked the following question during the configuration stage:
  +If you specify neither the <CODE>DO_HTTPD</CODE> nor the <CODE>NO_HTTPD</CODE> 
parameters you will be asked the following question during the
  +configuration stage:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  -       <pre>  &quot;Configure mod_perl with ../apache_x.x.x/src ?&quot;</pre>
  +       <pre>  Configure mod_perl with ../apache_x.x.x/src ?</pre>
           </td>
            
         </tr>
  @@ -523,7 +561,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -544,7 +582,7 @@
   <CODE>APACHE_SRC</CODE>.
   
   <P>
  -If you use <CODE>DO_HTTPD=1</CODE> or <CODE>NO_HTTPD</CODE>, the first apache 
source tree found or the one you have defined will be
  +If you use <CODE>DO_HTTPD=1</CODE> or <CODE>NO_HTTPD</CODE>, the first Apache 
source tree found or the one you have defined will be
   used for the rest of the build process.
   
   <P>
  @@ -559,12 +597,12 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  -       <pre>  &quot;Shall I build httpd in ../apache_x.x.x/src for you?&quot;</pre>
  +       <pre>  Shall I build httpd in ../apache_x.x.x/src for you?</pre>
           </td>
            
         </tr>
  @@ -574,14 +612,14 @@
   <EM>../apache_x.x.x/src</EM> when you run <CODE>make</CODE>.
   
   <P>
  -To avoid this prompt when the answer is <EM>Yes</EM> use:
  +To avoid this prompt when the answer is <EM>Yes</EM> specify the following argument:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -594,26 +632,45 @@
       <P>
   Note that if you set <CODE>DO_HTTPD=1</CODE>, but do not use
   <CODE>APACHE_SRC=../apache_x.x.x/src</CODE> then the first apache source tree found 
will be used to configure and build
  -against.
  +against. Therefore it's highly advised to always use an explicit 
<CODE>APACHE_SRC</CODE> parameter, to avoid confusion.
   
   <P>
  -<CODE>PREP_HTTPD=1</CODE> just means default '<CODE>n</CODE>' to the second prompt, 
meaning <EM>do not build (make) httpd in the Apache source tree</EM>. But it will 
still ask you about Apache's source location even if you have
  +<CODE>PREP_HTTPD=1</CODE> just means default '<CODE>n</CODE>' to the latter prompt, 
meaning: <EM>Do not build (make) httpd in the Apache source tree</EM>. But it will 
still ask you about Apache's source location even if you have
   used the <CODE>APACHE_SRC</CODE> parameter. Providing the <CODE>APACHE_SRC</CODE>
   parameter will just eliminate the need for <CODE>perl Makefile.PL</CODE> to make a 
guess.
   
   <P>
  -To avoid the two prompts and avoid building httpd, use:
  +To avoid the two prompts:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  +       <pre>  Configure mod_perl with ../apache_x.x.x/src ?
  +  Shall I build httpd in ../apache_x.x.x/src for you?</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +and avoid building httpd, use:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
          <pre>  NO_HTTPD=1</pre>
           </td>
            
  @@ -636,17 +693,20 @@
   want executed. The handler will call our subroutine at the right time.
   
   <P>
  -By default, all callback hooks except for <CODE>PerlHandler</CODE> are turned off. 
You may enable them by editing <EM>src/modules/perl/Makefile</EM>, or when running 
<CODE>perl Makefile.PL</CODE>.
  +By default, most of the callback hooks except for
  +<CODE>PerlHandler</CODE>,<CODE>PerlChildInitHandler</CODE>, 
<CODE>PerlChildExitHandler</CODE>,
  +<CODE>PerlConnectionApi</CODE>, and <CODE>PerlServerApi</CODE> are turned off. You 
may enable them by editing <EM>src/modules/perl/Makefile</EM>, or when running
  +<CODE>perl Makefile.PL</CODE>.
   
   <P>
  -Possible parameters are:
  +The possible parameters for the appropriate hooks are:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -663,7 +723,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -700,7 +760,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -722,7 +782,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -762,7 +822,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -788,7 +848,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -801,20 +861,6 @@
       <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H4><A NAME="PERL_MARK_WHERE">PERL_MARK_WHERE</A></H4></CENTER>
  -<P>
  -Generally for <CODE>Apache::Registry</CODE> scripts, the reported line number for 
warnings and errors that end up in
  -the <EM>error_log</EM> file is not correct. This is due to the fact that 
<CODE>Apache::Registry</CODE>
  -auto-magically wraps the scripts running under its handler in special code
  -that enables the caching of the compiled scripts.
  -
  -<P>
  -If configured with <CODE>PERL_MARK_WHERE=1</CODE>, mod_perl will attempt to 
compensate for this effect and show the exact
  -line which triggered the error or warning.
  -
  -<P>
  -[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  -<HR>
   <CENTER><H4><A NAME="APACI_ARGS">APACI_ARGS</A></H4></CENTER>
   <P>
   When you use the <CODE>USE_APACI=1</CODE> parameter, you can tell 
<CODE>Makefile.PL</CODE>
  @@ -825,18 +871,18 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
          <pre>  % perl Makefile.PL USE_APACI=1 \
  -  APACI_ARGS='--sbindir=/usr/local/sbin/httpd_perl, \
  -         --sysconfdir=/usr/local/etc/httpd_perl, \
  -         --localstatedir=/usr/local/var/httpd_perl, \
  -         --runtimedir=/usr/local/var/httpd_perl/run, \
  -         --logfiledir=/usr/local/var/httpd_perl/logs, \
  -         --proxycachedir=/usr/local/var/httpd_perl/proxy'</pre>
  +  APACI_ARGS='--sbindir=/usr/local/httpd_perl/sbin, \
  +         --sysconfdir=/usr/local/httpd_perl/etc, \
  +         --localstatedir=/usr/local/httpd_perl/var, \
  +         --runtimedir=/usr/local/httpd_perl/var/run, \
  +         --logfiledir=/usr/local/httpd_perl/var/logs, \
  +         --proxycachedir=/usr/local/httpd_perl/var/proxy'</pre>
           </td>
            
         </tr>
  @@ -860,7 +906,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -875,6 +921,52 @@
   option.
   
   <P>
  +In addition when the <CODE>APACHE_PREFIX</CODE> option is used <CODE>make 
install</CODE>
  +be executed in the Apache source directory, which makes these two
  +equivalent:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  % perl Makefile.PL APACHE_SRC=../apache_x.x.x/src \
  +    DO_HTTPD=1 USE_APACI=1 EVERYTHING=1 \
  +    APACI_ARGS='--prefix=/usr/local/httpd_perl'
  +  % make &amp;&amp; make test &amp;&amp; make install
  +  % cd ../apache_x.x.x
  +  % make install</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  % perl Makefile.PL APACHE_SRC=../apache_x.x.x/src \
  +    DO_HTTPD=1 USE_APACI=1 EVERYTHING=1 \
  +    APACHE_PREFIX=/usr/local/httpd_perl'
  +  % make &amp;&amp; make test &amp;&amp; make install</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +Now you can pick your favorite installation method.
  +
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H3><A NAME="Environment_Variables">Environment Variables</A></H3></CENTER>
  @@ -904,7 +996,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -923,7 +1015,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -944,7 +1036,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -998,7 +1090,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1037,7 +1129,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1048,8 +1140,8 @@
         </tr>
       </table>
       <P>
  -Where <CODE>Configuration.custom</CODE> is the full pathname of the file
  -<EM>relative to the Apache source tree you build against</EM>.
  +Where <EM>Configuration.custom</EM> is the pathname of the file <EM>relative
  +to the Apache source tree you build against</EM>.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -1067,7 +1159,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1104,7 +1196,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1122,7 +1214,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1140,9 +1232,8 @@
   <HR>
   <CENTER><H4><A NAME="Missing_or_Misconfigured_libgdbm">Missing or Misconfigured 
libgdbm.so</A></H4></CENTER>
   <P>
  -On some RedHat systems you might encounter a problem during the <CODE>perl
  -Makefile.PL</CODE> stage, when the installed Perl was built with the 
<CODE>gdbm</CODE>
  -library, but the library isn't actually installed. If this is your
  +On some Linux RedHat systems you might encounter a problem during the
  +<CODE>perl Makefile.PL</CODE> stage, when the installed from the rpm package Perl 
was built with the <CODE>gdbm</CODE> library, but the library isn't actually 
installed. If this is your
   situation make sure you install it before proceeding with the build
   process.
   
  @@ -1154,7 +1245,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1172,7 +1263,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1191,7 +1282,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1209,7 +1300,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1229,7 +1320,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1248,7 +1339,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1270,7 +1361,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1288,7 +1379,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1299,6 +1390,12 @@
         </tr>
       </table>
       <P>
  +Of course if when you read this a new version of the <CODE>libgdbm</CODE>
  +library will be released, you will have to adjust the version numbers. We
  +didn't use the usual <EM>xx.xx</EM> version replacement here, to make it easier to 
understand how the symbolic
  +links should be set.
  +
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H4><A NAME="About_gdbm_db_and_ndbm_librarie">About gdbm, db and ndbm 
libraries</A></H4></CENTER>
  @@ -1308,11 +1405,9 @@
   whichever library was linked first by the perl compile. If you build apache
   without mod_perl you end up with whatever appears to be be your ndbm
   library which will vary between systems, and especially Linux
  -distributions. Some use gdbm - RedHat uses db but seems to have switched to
  -the file-incompatible 2.x version in their 6.0 release. You may have to
  -work a bit to get both Apache and Perl to use the same library and you are
  -likely to have trouble copying the dbm file from one system to another or
  -even using it after an upgrade.
  +distributions. You may have to work a bit to get both Apache and Perl to
  +use the same library and you are likely to have trouble copying the dbm
  +file from one system to another or even using it after an upgrade.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -1326,7 +1421,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1352,7 +1447,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1390,7 +1485,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1429,50 +1524,11 @@
   <HR>
   <CENTER><H4><A NAME="Unrecognized_format_specifier_fo">Unrecognized format 
specifier for...</A></H4></CENTER>
   <P>
  -
  -    <table>
  -      <tr>
  +This error usually reported due to the problems with some versions of SFIO
  +library. Try to use the latest version to get around this problem. Or if
  +you don't really need SFIO, rebuild Perl without this library.
   
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  -
  -     <td>
  -       <pre>  From: Scott Fagg &lt;[EMAIL PROTECTED]&gt;
  -  
  -  I'm using apache 1.3.9 , mod_fastcgi 2.2.2 and mod_perl 1.21
  -  
  -  Originally my build of these three together worked, however when I
  -  went to rebuild a few months later I recieved a lot of &quot;unrecognized
  -  format specifier&quot; errors.  A search of the internet showed that I
  -  wasn't the only one but I couldn't find a solution mentioned.
  -  
  -  Puzzled, I tried to track down the problem.  Using clean source I
  -  could build Apache/mod_perl/mod_fastcgi on my RedHat 5.2 workstation
  -  but never on my RedHat 5.2 server.
  -  
  -  The only tinkering I'd done with the server was to use SFIO to
  -  rebuild Perl and get mod_fastcgi working the first time I used
  -  FastCGI.
  -  
  -  By removing the C&lt;sfio&gt; .h files, the Apache/mod_perl compile would
  -  get further and the 'unrecognized format specifier' errors
  -  disappeared, but naturally other pieces of code refused to compile
  -  complaining about the missing C&lt;sfio&gt; files.
  -  
  -  A quick check of the mod_fast site noted that it no longer needed
  -  SFIO, so I removed it and replaced my rebuilt sfio-perl binaries
  -  with clean ones (from a redhat RPM) and was able to rebuild apache
  -  with mod_perl+mod_fastcgi (+php). All of my mod_perl stuff works and
  -  so too does my fastcgi.
  -  
  -  Hope that helps some one. I wasn't able to find any answers to the
  -  problem while searching the net.</pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H2><A NAME="Built_Server_Testing_make_test_">Built Server Testing (make 
test)</A></H2></CENTER>
  @@ -1485,7 +1541,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1518,7 +1574,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1536,7 +1592,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1554,7 +1610,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1572,7 +1628,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1600,7 +1656,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1618,7 +1674,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1664,7 +1720,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1685,7 +1741,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1713,25 +1769,27 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  -       <pre>  modules/cookie......skipping test on this platform</pre>
  +       <pre>  modules/cookie......skipping test on this platform
  +  modules/request.....skipping test on this platform</pre>
           </td>
            
         </tr>
       </table>
       <P>
  -Install libapreq
  +Install libapreq package which includes among others the
  +<CODE>Apache::Request</CODE> and <CODE>Apache::Cookie</CODE> modules.
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1742,34 +1800,16 @@
         </tr>
       </table>
       <P>
  -Install <CODE>Devel::Symdump</CODE> / <CODE>Data::Dumper</CODE>
  -
  -
  -
  -<P>
  -
  -    <table>
  -      <tr>
  +Install <CODE>Devel::Symdump</CODE> and <CODE>Data::Dumper</CODE>
   
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
   
  -     <td>
  -       <pre>  modules/request.....skipping test on this platform</pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  -Install libapreq (<CODE>Apache::Request</CODE>)
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1787,7 +1827,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1805,7 +1845,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1834,7 +1874,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1861,7 +1901,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1880,7 +1920,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1928,7 +1968,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1949,7 +1989,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1967,7 +2007,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1987,7 +2027,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2006,7 +2046,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2026,7 +2066,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2045,7 +2085,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2080,7 +2120,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2121,7 +2161,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2142,7 +2182,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2196,7 +2236,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2236,7 +2276,7 @@
   <HR>
   <CENTER><H2><A NAME="Build_mod_perl_as_a_DSO_inside_t">Build mod_perl as a DSO 
inside the Apache Source Tree via APACI</A></H2></CENTER>
   <P>
  -<STRONG>Warning</STRONG>:  <EM>THIS IS STILL EXPERIMENTAL, SO BE WARNED!</EM>
  +<STRONG>Warning</STRONG>:  <EM>This is still experimental, so be warned!</EM>
   
   
   
  @@ -2246,11 +2286,6 @@
   mileage may vary. Almost certainly it will.
   
   <P>
  -<STRONG>Warning</STRONG>:  <EM>YOU HAVE BEEN WARNED!</EM>
  -
  -
  -
  -<P>
   We have already said that the new mod_perl build environment 
(<CODE>USE_APACI</CODE>) is a hybrid. What does it mean? It means for instance that 
the same <CODE>src/modules/perl/</CODE> stuff can be used to build mod_perl as a DSO 
or not, without having to edit
   anything especially for this. When you want to build <CODE>libperl.so</CODE> all 
you have to do is to add one single option to the above steps.
   
  @@ -2275,7 +2310,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2293,7 +2328,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2331,7 +2366,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2436,7 +2471,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2457,7 +2492,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2478,7 +2513,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2498,7 +2533,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2527,7 +2562,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2553,7 +2588,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2583,7 +2618,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2602,7 +2637,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2621,7 +2656,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2641,7 +2676,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2662,7 +2697,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2678,7 +2713,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2694,7 +2729,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2710,7 +2745,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2726,7 +2761,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2742,7 +2777,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2758,7 +2793,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2774,7 +2809,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2797,7 +2832,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2813,7 +2848,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2829,7 +2864,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2845,7 +2880,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2861,7 +2896,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2877,7 +2912,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2893,7 +2928,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2920,7 +2955,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2936,7 +2971,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2955,7 +2990,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2978,7 +3013,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3006,7 +3041,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3027,7 +3062,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3047,7 +3082,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3067,7 +3102,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3088,7 +3123,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3109,7 +3144,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3152,7 +3187,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3170,7 +3205,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3189,7 +3224,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3209,7 +3244,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3233,7 +3268,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3259,7 +3294,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3277,7 +3312,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3292,7 +3327,8 @@
   <HR>
   <CENTER><H2><A NAME="mod_perl_and_Raven_SSL">mod_perl and Raven 
SSL</A></H2></CENTER>
   <P>
  -Note: Please consult <A
  +The following are the installation notes for the static and DSO mod_perl.
  +Please consult <A
   HREF="http://www.covalent.net/support">http://www.covalent.net/support</A>
   if you have additional questions regarding Raven SSL.
   
  @@ -3315,7 +3351,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3333,7 +3369,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3349,7 +3385,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3365,7 +3401,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3384,7 +3420,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3419,7 +3455,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3437,7 +3473,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3457,7 +3493,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3478,7 +3514,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3499,7 +3535,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3520,7 +3556,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3541,7 +3577,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3568,7 +3604,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3590,7 +3626,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3612,7 +3648,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3631,7 +3667,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3650,7 +3686,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3674,7 +3710,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3690,7 +3726,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3711,7 +3747,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3727,7 +3763,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3743,7 +3779,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3764,7 +3800,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3783,6 +3819,106 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  +<CENTER><H2><A NAME="mod_perl_and_mod_php">mod_perl and mod_php</A></H2></CENTER>
  +<P>
  +This is a simple installation scenario of the mod_perl and mod_php in
  +Apache server:
  +
  +<OL>
  +<P><LI>
  +<P>
  +Configure Apache.
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  % ./configure --prefix=/usr/local/etc/httpd</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P><LI>
  +<P>
  +Build mod_perl.
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  % cd ../mod_perl-x.xx
  +  % perl Makefile.PL APACHE_SRC=../apache_x.x.xx/src NO_HTTPD=1 \
  +    USE_APACI=1 PREP_HTTPD=1 EVERYTHING=1
  +  % make
  +  % make test
  +  % make install</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P><LI>
  +<P>
  +Build mod_php.
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  % cd ../php-x.x.xx
  +  % ./configure --with-apache=../apache_x.x.xx \
  +     --wtih-mysql --enable-track-vars
  +  % make
  +  % make install</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P><LI>
  +<P>
  +Complete the Apache installation.
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  % cd ../apache_x.x.xx
  +  % ./configure --prefix=/usr/local/etc/httpd \
  +     --activate-module=src/modules/perl/libperl.a \
  +     --activate-module=src/modules/php3/libphp3.a \
  +     --enable-module=stats \
  +     --enable-module=rewrite</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    </OL>
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
   <CENTER><H1><A NAME="mod_perl_Installation_with_the_C">mod_perl Installation with 
the CPAN.pm Interactive Shell</A></H1></CENTER>
   <P>
   Installation of mod_perl and all the required packages is much easier with
  @@ -3804,7 +3940,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3824,7 +3960,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3843,7 +3979,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3863,7 +3999,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3882,7 +4018,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3913,7 +4049,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3933,7 +4069,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3954,7 +4090,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3979,7 +4115,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4002,7 +4138,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4022,7 +4158,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4041,7 +4177,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4075,7 +4211,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4103,7 +4239,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4122,7 +4258,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4205,7 +4341,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4347,7 +4483,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4379,7 +4515,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4401,7 +4537,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4419,7 +4555,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4470,7 +4606,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4490,7 +4626,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4540,7 +4676,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4563,7 +4699,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4582,7 +4718,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4611,7 +4747,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4646,7 +4782,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4658,12 +4794,12 @@
     
     PerlModule Apache::Registry 
     Alias /perl/ /home/httpd/perl/ 
  -  &lt;Location /perl 
  +  &lt;Location /perl&gt;
       SetHandler perl-script 
       PerlHandler Apache::Registry 
       PerlSendHeader On 
       Options +ExecCGI
  -  &lt;/Location</pre>
  +  &lt;/Location&gt;</pre>
           </td>
            
         </tr>
  @@ -4686,7 +4822,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4730,7 +4866,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4760,7 +4896,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4782,7 +4918,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4806,7 +4942,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4828,7 +4964,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4852,7 +4988,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4877,7 +5013,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4900,7 +5036,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4918,7 +5054,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4941,7 +5077,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4960,7 +5096,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5003,7 +5139,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5021,7 +5157,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5059,7 +5195,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5087,7 +5223,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5106,7 +5242,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5154,7 +5290,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5173,7 +5309,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5193,7 +5329,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5216,7 +5352,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5276,7 +5412,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5301,7 +5437,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5319,7 +5455,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5339,7 +5475,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5363,7 +5499,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5381,7 +5517,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5401,7 +5537,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5426,7 +5562,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5450,7 +5586,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5468,7 +5604,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5516,7 +5652,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5535,7 +5671,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5554,7 +5690,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5573,7 +5709,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5616,7 +5752,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5639,7 +5775,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5666,7 +5802,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5698,7 +5834,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5716,7 +5852,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5741,7 +5877,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5815,7 +5951,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5859,7 +5995,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5877,7 +6013,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5892,7 +6028,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5911,7 +6047,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5931,7 +6067,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5950,7 +6086,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5970,7 +6106,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5985,7 +6121,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6000,7 +6136,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6018,6 +6154,8 @@
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H1><A NAME="Automating_installation">Automating 
installation</A></H1></CENTER>
  +<UL>
  +<P><LI><STRONG><A NAME="item_Apache">Apache Builder</A></STRONG>
   <P>
   James G Smith wrote an Apache Builder, that can install a combination of
   Apache, mod_perl, and mod_ssl -- it also has limited support for including
  @@ -6033,7 +6171,20 @@
   HREF="http://hex.tamu.edu/generic.conf">http://hex.tamu.edu/generic.conf</A>
   (a sample configuration file)
   
  +<P><LI><STRONG><A NAME="item_Aphid">Aphid Apache Installer</A></STRONG>
  +<P>
  +Aphid provides a facility for bootstrapping SSL-enabled Apache web servers
  +(mod_ssl) with an embedded Perl interpreter (mod_perl). Source is
  +downloaded from the Internet, compiled, and the resulting system is
  +installed in the directory you specify.
  +
   <P>
  +<A
  
+HREF="http://sourceforge.net/projects/aphid/">http://sourceforge.net/projects/aphid/</A>
  +
  +
  +</UL>
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H1><A NAME="How_can_I_tell_whether_mod_perl_">How can I tell whether 
mod_perl is running?</A></H1></CENTER>
  @@ -6053,7 +6204,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6083,7 +6234,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6111,7 +6262,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6130,7 +6281,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6154,7 +6305,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6199,7 +6350,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6222,7 +6373,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6241,7 +6392,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6270,7 +6421,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6296,7 +6447,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6334,7 +6485,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6352,7 +6503,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6419,7 +6570,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6449,7 +6600,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6467,7 +6618,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6485,7 +6636,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6508,7 +6659,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6526,7 +6677,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6623,17 +6774,116 @@
   Don't use a relative path!
   
   </UL>
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
  +<CENTER><H1><A NAME="Pros_and_Cons_of_Building_mod_pe">Pros and Cons of Building 
mod_perl as DSO</A></H1></CENTER>
  +<P>
  +On modern Unix derivatives there is a nifty mechanism usually called
  +dynamic linking/loading of Dynamic Shared Objects (DSO), which provides a
  +way to build a piece of program code in a special format for loading in at
  +run-time into the address space of an executable program.
  +
  +<P>
  +As of Apache 1.3, the configuration system supports two optional features
  +for taking advantage of the modular DSO approach: compilation of the Apache
  +core program into a DSO library for shared usage and compilation of the
  +Apache modules into DSO files for explicit loading at run-time.
  +
  +<P>
  +Should you use this method? Read the pros and cons and decide for yourself.
  +
  +<P>
  +Pros:
  +
  +<UL>
  +<P><LI>
  +<P>
  +The server package is more flexible at run-time because the actual server
  +process can be assembled at run-time via <CODE>LoadModule</CODE>
  +
  +<EM>httpd.conf</EM> configuration commands instead of <EM>Configuration</EM>
  +
  +<CODE>AddModule</CODE> commands at build-time. For instance this way one is able to 
run different
  +server instances (standard &amp; SSL version, with and without mod_perl)
  +with only one Apache installation.
  +
  +<P><LI>
  +<P>
  +The server package can be easily extended with third-party modules even
  +after installation. This is at least a great benefit for vendor package
  +maintainers who can create an Apache core package and additional packages
  +containing extensions like PHP3, mod_perl, mod_fastcgi, etc.
  +
  +<P><LI>
  +<P>
  +Easier Apache module prototyping because with the DSO/apxs pair you can
  +both work outside the Apache source tree and only need an apxs
  +-i command followed by an apachectl&nbsp;restart to bring a new version of your 
currently developed module into the running
  +Apache server.
  +
  +</UL>
  +<P>
  +Cons:
  +
  +<UL>
  +<P><LI>
  +<P>
  +The DSO mechanism cannot be used on every platform because not all
  +operating systems support dynamic loading of code into the address space of
  +a program.
  +
  +<P><LI>
  +<P>
  +The server starts up approximately 20% slower because of the symbol
  +resolving overhead the Unix loader now has to do.
  +
  +<P><LI>
  +<P>
  +The server runs approximately 5% slower on some platforms because position
  +independent code (PIC) sometimes needs complicated assembler tricks for
  +relative addressing which are not necessarily as fast as absolute
  +addressing.
  +
  +<P><LI>
  +<P>
  +Because DSO modules cannot be linked against other DSO-based libraries (ld
  +-lfoo) on all platforms (for instance a.out-based platforms usually don't
  +provide this functionality while ELF-based platforms do) you cannot use the
  +DSO mechanism for all types of modules. Or in other words, modules compiled
  +as DSO files are restricted to only use symbols from the Apache core, from
  +the C library (libc) and all other dynamic or static libraries used by the
  +Apache core, or from static library archives (libfoo.a) containing position
  +independent code. The only way you can use other code is to either make
  +sure the Apache core itself already contains a reference to it, loading the
  +code yourself via <CODE>dlopen()</CODE> or enabling the SHARED_CHAIN rule
  +while building Apache when your platform supports linking DSO files against
  +DSO libraries.
  +
  +<P><LI>
  +<P>
  +Under some platforms (many SVR4 systems) there is no way to force the
  +linker to export all global symbols for use in DSO's when linking the
  +Apache httpd executable program. But without the visibility of the Apache
  +core symbols no standard Apache module could be used as a DSO. The only
  +workaround here is to use the SHARED_CORE feature because this way the
  +global symbols are forced to be exported. As a consequence the Apache
  +src/Configure script automatically enforces SHARED_CORE on these platforms
  +when DSO features are used in the Configuration file or on the configure
  +command line.
  +
  +</UL>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   
   
       <p>
       <div class="navbar">
  -      <a href="perl.html">Prev</a>                                 |
  +      <a href="./perl.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="config.html">Next</a>
  +      <a href="./config.html">Next</a>
       </div>
       <p>
   
  @@ -6676,7 +6926,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/21/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/26/2000
   </font></b>
   <br>
   
  
  
  
  1.24      +45 -14    modperl-site/guide/intro.html
  
  Index: intro.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/intro.html,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- intro.html        2000/08/05 20:48:05     1.23
  +++ intro.html        2000/11/26 22:02:26     1.24
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Introduction. Incentives. Credits.</title>
  +   <title>mod_perl guide: Introduction. Incentives. Credits. </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Introduction. Incentives. Credits.
  +      Introduction. Incentives. Credits. 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="">Prev</a>                                 |
  +                                       |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="start.html">Next</a>
  +      <a href="./start.html">Next</a>
       </div>
       <p>
   
  @@ -143,7 +143,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -168,7 +168,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -218,7 +218,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -274,7 +274,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -293,7 +293,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -701,11 +701,13 @@
   <P><LI><STRONG><A NAME="item_Andrew">Andrew Ford</A></STRONG>
   <P><LI><STRONG><A NAME="item_Anthony">Anthony D. Ettinger</A></STRONG>
   <P><LI><STRONG><A NAME="item_Ask">Ask Bjoern Hansen</A></STRONG>
  -<P><LI><STRONG><A NAME="item_Autarch">Autarch</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Barrie">Barrie Slaymaker</A></STRONG>
   <P><LI><STRONG><A NAME="item_Bill">Bill Moseley</A></STRONG>
   <P><LI><STRONG><A NAME="item_Brian">Brian Moseley</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Carl">Carl Hansen</A></STRONG>
   <P><LI><STRONG><A NAME="item_Chad">Chad K. Lewis</A></STRONG>
   <P><LI><STRONG><A NAME="item_Chris">Chris Nokleberg</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Chris">Chris Winters</A></STRONG>
   <P><LI><STRONG><A NAME="item_Christof">Christof Damian</A></STRONG>
   <P><LI><STRONG><A NAME="item_Christophe">Christophe Dupre</A></STRONG>
   <P><LI><STRONG><A NAME="item_Cliff">Cliff Rayman</A></STRONG>
  @@ -714,13 +716,16 @@
   <P><LI><STRONG><A NAME="item_Daniel">Daniel W. Burke</A></STRONG>
   <P><LI><STRONG><A NAME="item_Darren">Darren Chamberlain</A></STRONG>
   <P><LI><STRONG><A NAME="item_Dave">Dave Hodgkinson</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Dave">Dave Rolsky</A></STRONG>
   <P><LI><STRONG><A NAME="item_David">David Harris</A></STRONG>
   <P><LI><STRONG><A NAME="item_David">David Huggins-Daines</A></STRONG>
   <P><LI><STRONG><A NAME="item_David">David Landgren</A></STRONG>
   <P><LI><STRONG><A NAME="item_David">David Mitchell</A></STRONG>
  +<P><LI><STRONG><A NAME="item_DeWitt">DeWitt Clinton</A></STRONG>
   <P><LI><STRONG><A NAME="item_Dean">Dean Fitz</A></STRONG>
   <P><LI><STRONG><A NAME="item_Doug">Doug Bagley</A></STRONG>
   <P><LI><STRONG><A NAME="item_Doug">Doug Kyle</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Drew">Drew Taylor</A></STRONG>
   <P><LI><STRONG><A NAME="item_Ed">Ed Park</A></STRONG>
   <P><LI><STRONG><A NAME="item_Ed">Ed Phillips</A></STRONG>
   <P><LI><STRONG><A NAME="item_Edmund">Edmund Mergl</A></STRONG>
  @@ -731,27 +736,34 @@
   <P><LI><STRONG><A NAME="item_Ewan">Ewan Edwards</A></STRONG>
   <P><LI><STRONG><A NAME="item_Frank">Frank Schoeters</A></STRONG>
   <P><LI><STRONG><A NAME="item_Garr">Garr Updegraff</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Ged">Ged Haywood</A></STRONG>
   <P><LI><STRONG><A NAME="item_Ged">Ged W. Haywood</A></STRONG>
   <P><LI><STRONG><A NAME="item_Geoff">Geoff Crawshaw</A></STRONG>
   <P><LI><STRONG><A NAME="item_Geoffrey">Geoffrey Young</A></STRONG>
   <P><LI><STRONG><A NAME="item_Gerald">Gerald Richter</A></STRONG>
   <P><LI><STRONG><A NAME="item_Gerd">Gerd Knops</A></STRONG>
   <P><LI><STRONG><A NAME="item_Greg">Greg Cope</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Greg">Greg Stark</A></STRONG>
   <P><LI><STRONG><A NAME="item_Gunther">Gunther Birznieks</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Hailei">Hailei Dai</A></STRONG>
   <P><LI><STRONG><A NAME="item_Henrique">Henrique Pantarotto</A></STRONG>
   <P><LI><STRONG><A NAME="item_Honza">Honza Pazdziora</A></STRONG>
   <P><LI><STRONG><A NAME="item_Howard">Howard Jones</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Hunter">Hunter Monroe</A></STRONG>
   <P><LI><STRONG><A NAME="item_Ilya">Ilya Obshadko</A></STRONG>
   <P><LI><STRONG><A NAME="item_James">James Furness</A></STRONG>
   <P><LI><STRONG><A NAME="item_James">James G Smith</A></STRONG>
   <P><LI><STRONG><A NAME="item_Jan">Jan Peter Hecking</A></STRONG>
   <P><LI><STRONG><A NAME="item_Jason">Jason Bodnar</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Jason">Jason Rhinelander</A></STRONG>
   <P><LI><STRONG><A NAME="item_Jauder">Jauder Ho</A></STRONG>
   <P><LI><STRONG><A NAME="item_Jay">Jay J</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Jeff">Jeff Chan</A></STRONG>
   <P><LI><STRONG><A NAME="item_Jeff">Jeff Rowe</A></STRONG>
   <P><LI><STRONG><A NAME="item_Jeffrey">Jeffrey W. Baker</A></STRONG>
   <P><LI><STRONG><A NAME="item_Jie">Jie Gao</A></STRONG>
   <P><LI><STRONG><A NAME="item_Joao">Joao Fonseca</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Joe">Joe Schaefer</A></STRONG>
   <P><LI><STRONG><A NAME="item_Joe">Joe Slag</A></STRONG>
   <P><LI><STRONG><A NAME="item_John">John Armstrong</A></STRONG>
   <P><LI><STRONG><A NAME="item_John">John Deighan</A></STRONG>
  @@ -763,10 +775,14 @@
   <P><LI><STRONG><A NAME="item_Joshua">Joshua Chamas</A></STRONG>
   <P><LI><STRONG><A NAME="item_Kavitha">Kavitha</A></STRONG>
   <P><LI><STRONG><A NAME="item_Ken">Ken Williams</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Kenny">Kenny Gatdula</A></STRONG>
   <P><LI><STRONG><A NAME="item_Kevin">Kevin Murphy</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Lance">Lance Cleveland</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Larry">Larry Leszczynski</A></STRONG>
   <P><LI><STRONG><A NAME="item_Leslie">Leslie Mikesell</A></STRONG>
   <P><LI><STRONG><A NAME="item_Lincoln">Lincoln Stein</A></STRONG>
   <P><LI><STRONG><A NAME="item_Mads">Mads Toftum</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Marcel">Marcel Grunauer</A></STRONG>
   <P><LI><STRONG><A NAME="item_Mark">Mark Mills</A></STRONG>
   <P><LI><STRONG><A NAME="item_Mark">Mark Summerfield</A></STRONG>
   <P><LI><STRONG><A NAME="item_Marko">Marko van der Puil</A></STRONG>
  @@ -776,6 +792,7 @@
   <P><LI><STRONG><A NAME="item_Michael">Michael Blakeley</A></STRONG>
   <P><LI><STRONG><A NAME="item_Michael">Michael Finke</A></STRONG>
   <P><LI><STRONG><A NAME="item_Michael">Michael Hall</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Michael">Michael Rendell</A></STRONG>
   <P><LI><STRONG><A NAME="item_Michael">Michael Schout</A></STRONG>
   <P><LI><STRONG><A NAME="item_Mike">Mike Depot</A></STRONG>
   <P><LI><STRONG><A NAME="item_Mike">Mike Fletcher</A></STRONG>
  @@ -783,12 +800,16 @@
   <P><LI><STRONG><A NAME="item_Nancy">Nancy Lin</A></STRONG>
   <P><LI><STRONG><A NAME="item_Nathan">Nathan Torkington</A></STRONG>
   <P><LI><STRONG><A NAME="item_Nathan">Nathan Vonnahme</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Neil">Neil Conway</A></STRONG>
   <P><LI><STRONG><A NAME="item_Nick">Nick Tonkin</A></STRONG>
   <P><LI><STRONG><A NAME="item_Oleg">Oleg Bartunov</A></STRONG>
   <P><LI><STRONG><A NAME="item_Pascal">Pascal Eeftinck</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Patrick">Patrick</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Pavel">Pavel Shmidt</A></STRONG>
   <P><LI><STRONG><A NAME="item_Perrin">Perrin Harkins</A></STRONG>
   <P><LI><STRONG><A NAME="item_Peter">Peter Galbavy</A></STRONG>
   <P><LI><STRONG><A NAME="item_Peter">Peter Haworth</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Peter">Peter J. Schoenster</A></STRONG>
   <P><LI><STRONG><A NAME="item_Peter">Peter Skov</A></STRONG>
   <P><LI><STRONG><A NAME="item_Philip">Philip Jacob</A></STRONG>
   <P><LI><STRONG><A NAME="item_Philip">Philip Newton</A></STRONG>
  @@ -800,11 +821,18 @@
   <P><LI><STRONG><A NAME="item_Rauznitz">Rauznitz Balazs</A></STRONG>
   <P><LI><STRONG><A NAME="item_Rex">Rex Staples</A></STRONG>
   <P><LI><STRONG><A NAME="item_Richard">Richard A. Wells</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Richard">Richard Chen</A></STRONG>
   <P><LI><STRONG><A NAME="item_Richard">Richard Dice</A></STRONG>
   <P><LI><STRONG><A NAME="item_Richard">Richard More</A></STRONG>
   <P><LI><STRONG><A NAME="item_Rick">Rick Myers</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Robert">Robert Mathews</A></STRONG>
   <P><LI><STRONG><A NAME="item_Robin">Robin Berjon</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Rodger">Rodger Donaldson</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Ron">Ron Pero</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Roy">Roy Nasser</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Salve">Salve J Nilsen</A></STRONG>
   <P><LI><STRONG><A NAME="item_Scott">Scott Fagg</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Scott">Scott Holdren</A></STRONG>
   <P><LI><STRONG><A NAME="item_Sean">Sean Dague</A></STRONG>
   <P><LI><STRONG><A NAME="item_Shane">Shane</A></STRONG>
   <P><LI><STRONG><A NAME="item_Stephane">Stephane Benoit</A></STRONG>
  @@ -812,17 +840,20 @@
   <P><LI><STRONG><A NAME="item_Steve">Steve Reppucci</A></STRONG>
   <P><LI><STRONG><A NAME="item_Steve">Steve Willer</A></STRONG>
   <P><LI><STRONG><A NAME="item_Terry">Terry West</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Tim">Tim Bunce</A></STRONG>
   <P><LI><STRONG><A NAME="item_Tom">Tom Brown</A></STRONG>
   <P><LI><STRONG><A NAME="item_Tom">Tom Christiansen</A></STRONG>
   <P><LI><STRONG><A NAME="item_Tom">Tom Hughes</A></STRONG>
   <P><LI><STRONG><A NAME="item_Tom">Tom Mornini</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Tuomas">Tuomas Salo</A></STRONG>
   <P><LI><STRONG><A NAME="item_Tzvetan">Tzvetan Stoyanov</A></STRONG>
   <P><LI><STRONG><A NAME="item_Ulrich">Ulrich Pfeifer</A></STRONG>
   <P><LI><STRONG><A NAME="item_Vivek">Vivek Khera</A></STRONG>
   <P><LI><STRONG><A NAME="item_Ward">Ward Vandewege</A></STRONG>
   <P><LI><STRONG><A NAME="item_Wesley">Wesley Darlington</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Will">Will Trillich</A></STRONG>
   <P><LI><STRONG><A NAME="item_Yann">Yann Kerhervé</A></STRONG>
  -<P><LI>
  +<P><LI><STRONG><A NAME="item_Yann">Yann Ramin</A></STRONG>
   <P><LI><STRONG><A NAME="item_Did">Did I miss your name? Tell me!</A></STRONG>
   </UL>
   <P>
  @@ -838,11 +869,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="">Prev</a>                                 |
  +                                       |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="start.html">Next</a>
  +      <a href="./start.html">Next</a>
       </div>
       <p>
   
  @@ -885,7 +916,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 06/26/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/26/2000
   </font></b>
   <br>
   
  
  
  
  1.8       +4870 -4850modperl-site/guide/mod_perl_guide.pdf.gz
  
        <<Binary file>>
  
  
  1.18      +36 -36    modperl-site/guide/modules.html
  
  Index: modules.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/modules.html,v
  retrieving revision 1.17
  retrieving revision 1.18
  diff -u -r1.17 -r1.18
  --- modules.html      2000/08/05 20:48:07     1.17
  +++ modules.html      2000/11/26 22:02:29     1.18
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Apache::* modules</title>
  +   <title>mod_perl guide: Apache::* modules </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Apache::* modules
  +      Apache::* modules 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="browserbugs.html">Prev</a>                                 |
  +      <a href="./browserbugs.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="snippets.html">Next</a>
  +      <a href="./snippets.html">Next</a>
       </div>
       <p>
   
  @@ -115,7 +115,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -133,7 +133,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -148,7 +148,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -172,7 +172,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -304,7 +304,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -323,7 +323,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -429,7 +429,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -468,7 +468,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -498,7 +498,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -539,7 +539,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -569,7 +569,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -615,7 +615,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -642,7 +642,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -690,7 +690,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -716,7 +716,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -743,7 +743,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -767,7 +767,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -793,15 +793,14 @@
   <P>
   With this module you can configure <CODE>@INC</CODE> and have modules reloaded for 
a given <CODE>Location</CODE>. Suppose two versions of <CODE>Apache::Status</CODE>
   are being hacked on the same server, this fixup handler will simply
  -<CODE>delete $INC{ $filename }</CODE>, unshift the preferred <CODE>PerlINC</CODE> 
path into
  -<CODE>@INC</CODE>, and reload the file with <CODE>require()</CODE>:
  +<CODE>delete $INC{ $filename }</CODE>, unshift the preferred <CODE>PerlINC</CODE> 
path into <CODE>@INC</CODE>, and reload the file with <CODE>require()</CODE>:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -816,7 +815,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -839,7 +838,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -859,7 +858,8 @@
       </table>
       <P>
   <CODE>PerlVersionINC On</CODE> must come before the <CODE>PerlINC</CODE>
  -statement. <CODE>PerlINC</CODE> wont store that path unless 
<CODE>PerlVersionINC</CODE> is On.
  +statement. <CODE>PerlINC</CODE> won't store that path unless 
<CODE>PerlVersionINC</CODE>
  +is On.
   
   <P>
   It's important to be aware that a changed <CODE>@INC</CODE> is effective only 
inside the <CODE>&lt;Location&gt;</CODE> or a similar configuration directive.
  @@ -886,7 +886,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -911,7 +911,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -929,7 +929,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -947,7 +947,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -974,7 +974,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -997,7 +997,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1068,11 +1068,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="browserbugs.html">Prev</a>                                 |
  +      <a href="./browserbugs.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="snippets.html">Next</a>
  +      <a href="./snippets.html">Next</a>
       </div>
       <p>
   
  @@ -1115,7 +1115,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/05/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/25/2000
   </font></b>
   <br>
   
  
  
  
  1.15      +56 -17    modperl-site/guide/multiuser.html
  
  Index: multiuser.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/multiuser.html,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- multiuser.html    2000/06/07 22:45:35     1.14
  +++ multiuser.html    2000/11/26 22:02:30     1.15
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: mod_perl for ISPs. mod_perl and Virtual Hosts</title>
  +   <title>mod_perl guide: mod_perl for ISPs. mod_perl and Virtual Hosts </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      mod_perl for ISPs. mod_perl and Virtual Hosts
  +      mod_perl for ISPs. mod_perl and Virtual Hosts 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="dbm.html">Prev</a>                                 |
  +      <a href="./dbm.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="debug.html">Next</a>
  +      <a href="./debug.html">Next</a>
       </div>
       <p>
   
  @@ -35,6 +35,11 @@
   <UL>
   
        <LI><A HREF="#ISPs_providing_mod_perl_services">ISPs providing mod_perl 
services - a fantasy or a reality</A>
  +     <UL>
  +
  +             <LI><A HREF="#Other_resources_related_to_mod_p">Other resources 
related to mod_perl hosting to look at</A>
  +     </UL>
  +
        <LI><A HREF="#Virtual_Hosts_in_the_guide">Virtual Hosts in the guide</A>
   </UL>
   
  @@ -91,7 +96,7 @@
   <P>
   You are an old sailor in the ISP business, you have seen it all, you know
   how many ISPs are out there and you know that the sales margins are too low
  -to keep you happy. You are looking for some new service almost noone else
  +to keep you happy. You are looking for some new service almost no one else
   provides, to attract more clients to become your users and hopefully to
   have a bigger slice of the action than your competitors.
   
  @@ -163,10 +168,9 @@
   to have and you will get the total memory requirement.
   
   <P>
  -Since ISPs never say no, you'd better take the inverse approach - think of
  -the largest memory size you can afford then divide it by one user's
  -requirements as I have shown in this example, and you will know how many
  -mod_perl users you can afford :)
  +Since ISPs never say <EM>No</EM>, you'd better take the inverse approach - think of 
the largest memory size
  +you can afford then divide it by one user's requirements as I have shown in
  +this example, and you will know how many mod_perl users you can afford :)
   
   <P>
   But you cannot tell how much memory your users may use? Their requirements
  @@ -185,7 +189,8 @@
   If the answer to either of the above questions is <EM>Yes</EM>, you are all set and 
your clients will prize your name for letting them
   run mod_perl! There are tools to restrict resource usage (see for example
   the man pages for <CODE>ulimit(3)</CODE>, <CODE>getrlimit(2)</CODE>, 
<CODE>setrlimit(2)</CODE> and
  -<CODE>sysconf(3)</CODE> ).
  +<CODE>sysconf(3)</CODE>, the last three have the corresponding Perl modules:
  +<CODE>BSD::Resource</CODE> and <CODE>Apache::Resource</CODE>).
   
   <P>
   [ReaderMETA]: If you have experience with other resource limiting
  @@ -198,7 +203,7 @@
   <P><LI>
   <P>
   Shutdown and startup scripts installed together with the rest of your
  -daemon startup scripts (e.g <CODE>/etc/rc.d</CODE> directory), so that when you 
reboot your machine the user's server will be
  +daemon startup scripts (e.g <EM>/etc/rc.d</EM> directory), so that when you reboot 
your machine the user's server will be
   correctly shutdown and will be back online the moment your system starts
   up. Also make sure to start each server under the username the server
   belongs to, or you are going to be in big trouble!
  @@ -261,7 +266,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -282,7 +287,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -300,7 +305,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -337,6 +342,40 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  +<CENTER><H2><A NAME="Other_resources_related_to_mod_p">Other resources related to 
mod_perl hosting to look at</A></H2></CENTER>
  +<UL>
  +<P><LI><STRONG><A NAME="item_The">The User-mode Linux Kernel</A></STRONG>
  +<P>
  +<A
  
+HREF="http://user-mode-linux.sourceforge.net/">http://user-mode-linux.sourceforge.net/</A>
  +
  +
  +<P>
  +User-Mode Linux is a safe, secure way of running Linux versions and Linux
  +processes. Run buggy software, experiment with new Linux kernels or
  +distributions, and poke around in the internals of Linux, all without
  +risking your main Linux setup.
  +
  +<P>
  +User-Mode Linux gives you a virtual machine that may have more hardware and
  +software virtual resources than your actual, physical computer. Disk
  +storage for the virtual machine is entirely contained inside a single file
  +on your physical machine. You can assign your virtual machine only the
  +hardware access you want it to have. With properly limited access, nothing
  +you do on the virtual machine can change or damage your real computer, or
  +its software.
  +
  +<P>
  +So if you want to completely protect one user from another and yourself
  +from your users this might be yet another alternative to the solutions
  +suggested at the beginning of this chapter.
  +
  +<P><LI>
  +<P><LI>
  +</UL>
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
   <CENTER><H1><A NAME="Virtual_Hosts_in_the_guide">Virtual Hosts in the 
guide</A></H1></CENTER>
   <P>
   If you are about to use <EM>Virtual Hosts</EM> you might want to read these 
sections:
  @@ -372,11 +411,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="dbm.html">Prev</a>                                 |
  +      <a href="./dbm.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="debug.html">Next</a>
  +      <a href="./debug.html">Next</a>
       </div>
       <p>
   
  @@ -419,7 +458,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 05/27/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/20/2000
   </font></b>
   <br>
   
  
  
  
  1.30      +417 -448  modperl-site/guide/performance.html
  
  Index: performance.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/performance.html,v
  retrieving revision 1.29
  retrieving revision 1.30
  diff -u -r1.29 -r1.30
  --- performance.html  2000/08/21 13:18:08     1.29
  +++ performance.html  2000/11/26 22:02:30     1.30
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Performance Tuning</title>
  +   <title>mod_perl guide: Performance Tuning </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Performance Tuning
  +      Performance Tuning 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="porting.html">Prev</a>                                 |
  +      <a href="./porting.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="frequent.html">Next</a>
  +      <a href="./frequent.html">Next</a>
       </div>
       <p>
   
  @@ -96,6 +96,7 @@
   
                <LI><A HREF="#Tuning_with_ab_ApacheBench">Tuning with ab - ApacheBench 
</A>
                <LI><A HREF="#Tuning_with_httperf">Tuning with httperf</A>
  +             <LI><A HREF="#Tuning_with_http_load">Tuning with http_load</A>
                <LI><A HREF="#Tuning_with_the_crashme_Script">Tuning with the crashme 
Script</A>
                <LI><A HREF="#Choosing_MaxClients">Choosing MaxClients</A>
                <LI><A HREF="#Choosing_MaxRequestsPerChild">Choosing 
MaxRequestsPerChild</A>
  @@ -191,9 +192,9 @@
        <UL>
   
                <LI><A HREF="#Proxying_the_mod_perl_Server">Proxying the mod_perl 
Server</A>
  -             <LI><A HREF="#Upload_Download_of_Big_Files">Upload/Download of Big 
Files</A>
        </UL>
   
  +     <LI><A HREF="#Upload_and_Download_of_Big_Files">Upload and Download of Big 
Files</A>
        <LI><A HREF="#Apache_mod_perl_Build_Options">Apache/mod_perl Build Options</A>
        <UL>
   
  @@ -537,7 +538,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -583,7 +584,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -617,7 +618,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -638,7 +639,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -689,7 +690,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -728,7 +729,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -752,7 +753,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -774,7 +775,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -797,7 +798,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -827,7 +828,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -868,7 +869,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -886,7 +887,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -944,7 +945,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -971,7 +972,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1003,7 +1004,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1023,7 +1024,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1049,7 +1050,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1071,7 +1072,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1089,7 +1090,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1129,7 +1130,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1150,7 +1151,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1175,7 +1176,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1190,7 +1191,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1207,7 +1208,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1260,7 +1261,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1278,7 +1279,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1296,7 +1297,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1321,7 +1322,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1338,7 +1339,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1354,6 +1355,10 @@
   The first one has less opcodes.
   
   <P>
  +Note that you shouldn't use <CODE>Apache::Status</CODE> module on production server 
as it adds quite a bit of overhead for each
  +request.
  +
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H1><A NAME="Know_Your_Operating_System">Know Your Operating 
System</A></H1></CENTER>
  @@ -1443,7 +1448,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1503,7 +1508,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1543,7 +1548,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1575,7 +1580,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1593,7 +1598,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1634,7 +1639,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1678,7 +1683,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1703,7 +1708,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1732,7 +1737,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1763,7 +1768,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1822,7 +1827,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1858,7 +1863,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1884,7 +1889,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1932,7 +1937,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1954,7 +1959,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1969,7 +1974,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1989,7 +1994,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2019,7 +2024,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2039,7 +2044,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2066,7 +2071,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2088,7 +2093,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2119,7 +2124,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2145,7 +2150,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2168,7 +2173,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2194,7 +2199,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2213,7 +2218,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2239,7 +2244,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2258,7 +2263,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2286,7 +2291,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2301,7 +2306,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2322,7 +2327,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2337,7 +2342,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2383,7 +2388,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2415,7 +2420,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2459,7 +2464,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2482,7 +2487,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2501,7 +2506,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2563,7 +2568,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2585,7 +2590,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2610,7 +2615,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2632,7 +2637,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2651,7 +2656,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2680,7 +2685,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2727,7 +2732,7 @@
         </tr>
       </table>
       <P>
  -What it does is opening a connection to the database <EM>'test'</EM> and issues a 
query to learn what tables the databases has. When the data is
  +The script opens a connection to the database <EM>'test'</EM> and issues a query to 
learn what tables the databases has. When the data is
   collected and printed the connection would be closed in the regular case,
   but <CODE>Apache::DBI</CODE> overrides it with empty method. When the data is 
processed a familiar to
   you already code to print the memory usage follows.
  @@ -2749,7 +2754,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2775,7 +2780,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2819,7 +2824,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2831,8 +2836,8 @@
         </tr>
       </table>
       <P>
  -Notice that the the smaller the diff is, the bigger the number of processes
  -you can have using the same amount of RAM. Therefore every 100K difference
  +Notice that the smaller the diff is, the bigger the number of processes you
  +can have using the same amount of RAM. Therefore every 100K difference
   counts, when you multiply it by the number of processes. If we take the
   number from the version version (1) vs. (4) and assume that we have 256M of
   memory dedicated to mod_perl processes we will get the following numbers
  @@ -2843,7 +2848,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2860,7 +2865,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2877,7 +2882,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2911,7 +2916,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2941,7 +2946,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2960,7 +2965,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2994,7 +2999,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3016,7 +3021,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3040,7 +3045,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3059,7 +3064,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3088,7 +3093,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3112,7 +3117,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3153,7 +3158,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3170,7 +3175,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3187,7 +3192,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3274,7 +3279,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3304,7 +3309,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3365,7 +3370,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3383,7 +3388,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3412,7 +3417,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3472,7 +3477,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3499,7 +3504,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3547,7 +3552,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3585,7 +3590,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3627,7 +3632,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3664,7 +3669,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3708,7 +3713,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3792,7 +3797,9 @@
   your server simultaneously. While there are commercial solutions, you can
   get away with free ones which do the same job. You can use the
   <A HREF="././performance.html#Tuning_with_ab_ApacheBench">ApacheBench</A>  
<STRONG><CODE>ab</CODE></STRONG> utility which comes with the Apache distribution, the 
<A HREF="././performance.html#Tuning_with_the_crashme_Script">crashme script</A> which 
uses
  -<CODE>LWP::Parallel::UserAgent</CODE> or <CODE>httperf</CODE> (see the <A 
HREF="././download.html#">Download page</A>).
  +<CODE>LWP::Parallel::UserAgent</CODE>,
  +<A HREF="././performance.html#Tuning_with_http_load">httperf</A> or
  +<A HREF="././performance.html#Tuning_with_http_load">http_load</A>.
   
   <P>
   It is important to make sure that you run the load generator (the client
  @@ -3830,7 +3837,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3848,7 +3855,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3882,7 +3889,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3903,7 +3910,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3926,7 +3933,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3954,7 +3961,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3977,7 +3984,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3999,7 +4006,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4026,7 +4033,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4076,7 +4083,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4114,7 +4121,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4139,7 +4146,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4161,7 +4168,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4195,7 +4202,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4214,7 +4221,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4251,7 +4258,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4287,7 +4294,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4327,7 +4334,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4345,7 +4352,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4373,7 +4380,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4415,7 +4422,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4448,7 +4455,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4477,6 +4484,100 @@
         </tr>
       </table>
       <P>
  +<A HREF="././download.html#httperf_webserver_Benchmarking">httperf download</A>
  +
  +
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
  +<CENTER><H2><A NAME="Tuning_with_http_load">Tuning with http_load</A></H2></CENTER>
  +<P>
  +<CODE>http_load</CODE> is yet another utility that does webserver load testing. It 
can simulate
  +33.6 modem connection (<EM>-throttle</EM>) and allows you to provide a file with a 
list of URLs, which we be fetched
  +randomly. You can specify how many parallel connections to run using the 
<EM>-parallel N</EM> option, or you can specify the number of requests to generate per 
second
  +with <EM>-rate N</EM> option. Finally you can tell the utility when to stop by 
specifying either
  +the test time length (<EM>-seconds N</EM>) or the total number of fetches 
(<EM>-fetches N</EM>).
  +
  +<P>
  +A sample run with the file <EM>urls</EM> including:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  <A HREF="http://www.example.com/foo/">http://www.example.com/foo/</A>
  +  <A HREF="http://www.example.com/bar/">http://www.example.com/bar/</A></pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +We ask to generate three requests per second and run for only two seconds.
  +Here is the generated output:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  % ./http_load -rate 3 -seconds 2 urls
  +  <A HREF="http://www.example.com/foo/">http://www.example.com/foo/</A>: 
check-connect SUCCEEDED, ignoring
  +  <A HREF="http://www.example.com/bar/">http://www.example.com/bar/</A>: 
check-connect SUCCEEDED, ignoring
  +  <A HREF="http://www.example.com/bar/">http://www.example.com/bar/</A>: 
check-connect SUCCEEDED, ignoring
  +  <A HREF="http://www.example.com/bar/">http://www.example.com/bar/</A>: 
check-connect SUCCEEDED, ignoring
  +  <A HREF="http://www.example.com/foo/">http://www.example.com/foo/</A>: 
check-connect SUCCEEDED, ignoring
  +  5 fetches, 3 max parallel, 96870 bytes, in 2.00258 seconds
  +  19374 mean bytes/connection
  +  2.49678 fetches/sec, 48372.7 bytes/sec
  +  msecs/connect: 1.805 mean, 5.24 max, 0.79 min
  +  msecs/first-response: 291.289 mean, 560.338 max, 34.349 min</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +So you can see that it has reported 2.5 requests per second. Of course for
  +the real test you will want to load the server heavily and run the test for
  +a longer time to get more reliable results.
  +
  +<P>
  +Note that when you provide a file with a list of URLs make sure that you
  +don't have empty lines in it. If you do -- the utility won't work
  +complaining:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  ./http_load: unknown protocol - </pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +<A HREF="././download.html#http_load_another_webserver_Be">http_load download</A>
  +
  +
  +
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H2><A NAME="Tuning_with_the_crashme_Script">Tuning with the crashme 
Script</A></H2></CENTER>
  @@ -4508,7 +4609,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4528,161 +4629,11 @@
       <P>
   And the code:
   
  -<P>
  -
  -    <table>
  -      <tr>
   
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  +            <p><a href="code/lwp-bench.pl"><code>lwp-bench.pl</code></a> -- The 
LWP::Parallel::UserAgent benchmark
   
  -     <td>
  -       <pre>  #!/usr/apps/bin/perl -w
  -  
  -  use LWP::Parallel::UserAgent;
  -  use Time::HiRes qw(gettimeofday tv_interval);
  -  use strict;
  -  
  -  ###
  -  # Configuration
  -  ###
  -  
  -  my $nof_parallel_connections = 10; 
  -  my $nof_requests_total = 100; 
  -  my $timeout = 10;
  -  my @urls = (
  -            '<A 
HREF="http://www.example.com:81/perl/faq_manager/faq_manager.pl">http://www.example.com:81/perl/faq_manager/faq_manager.pl</A>',
  -            '<A 
HREF="http://www.example.com:81/perl/access/access.cgi">http://www.example.com:81/perl/access/access.cgi</A>',
  -           );
  -  
  -  
  -  ##################################################
  -  # Derived Class for latency timing
  -  ##################################################
  -  
  -  package MyParallelAgent;
  -  @MyParallelAgent::ISA = qw(LWP::Parallel::UserAgent);
  -  use strict;
  -  
  -  ###
  -  # Is called when connection is opened
  -  ###
  -  sub on_connect {
  -    my ($self, $request, $response, $entry) = @_;
  -    $self-&gt;{__start_times}-&gt;{$entry} = [Time::HiRes::gettimeofday];
  -  }
  -  
  -  ###
  -  # Are called when connection is closed
  -  ###
  -  sub on_return {
  -    my ($self, $request, $response, $entry) = @_;
  -    my $start = $self-&gt;{__start_times}-&gt;{$entry};
  -    $self-&gt;{__latency_total} += Time::HiRes::tv_interval($start);
  -  }
  -  
  -  sub on_failure {
  -    on_return(@_);  # Same procedure
  -  }
  -  
  -  ###
  -  # Access function for new instance var
  -  ###
  -  sub get_latency_total {
  -    return shift-&gt;{__latency_total};
  -  }
  -  
  -  ##################################################
  -  package main;
  -  ##################################################
  -  ###
  -  # Init parallel user agent
  -  ###
  -  my $ua = MyParallelAgent-&gt;new();
  -  $ua-&gt;agent(&quot;pounder/1.0&quot;);
  -  $ua-&gt;max_req($nof_parallel_connections);
  -  $ua-&gt;redirect(0);    # No redirects
  -  
  -  ###
  -  # Register all requests
  -  ###
  -  foreach (1..$nof_requests_total) {
  -    foreach my $url (@urls) {
  -      my $request = HTTP::Request-&gt;new('GET', $url);
  -      $ua-&gt;register($request);
  -    }
  -  }
  -  
  -  ###
  -  # Launch processes and check time
  -  ###
  -  my $start_time = [gettimeofday];
  -  my $results = $ua-&gt;wait($timeout);
  -  my $total_time = tv_interval($start_time);
  -  
  -  ###
  -  # Requests all done, check results
  -  ###
  -  
  -  my $succeeded     = 0;
  -  my %errors = ();
  -  
  -  foreach my $entry (values %$results) {
  -    my $response = $entry-&gt;response();
  -    if($response-&gt;is_success()) {
  -      $succeeded++; # Another satisfied customer
  -    } else {
  -      # Error, save the message
  -      $response-&gt;message(&quot;TIMEOUT&quot;) unless $response-&gt;code();
  -      $errors{$response-&gt;message}++;
  -    }
  -  }
  -  
  -  ###
  -  # Format errors if any from %errors 
  -  ###
  -  my $errors = join(',', map &quot;$_ ($errors{$_})&quot;, keys %errors);
  -  $errors = &quot;NONE&quot; unless $errors;
  -  
  -  ###
  -  # Format results
  -  ###
  -  
  -  #@urls = map {($_,&quot;.&quot;)} @urls;
  -  my @P = (
  -        &quot;URL(s)&quot;          =&gt; join(&quot;\n\t\t &quot;, @urls),
  -        &quot;Total Requests&quot;  =&gt; &quot;$nof_requests_total&quot;,
  -        &quot;Parallel Agents&quot; =&gt; $nof_parallel_connections,
  -        &quot;Succeeded&quot;       =&gt; sprintf(&quot;$succeeded (%.2f%%)\n&quot;,
  -                                   $succeeded * 100 / $nof_requests_total),
  -        &quot;Errors&quot;          =&gt; $errors,
  -        &quot;Total Time&quot;      =&gt; sprintf(&quot;%.2f secs\n&quot;, 
$total_time),
  -        &quot;Throughput&quot;      =&gt; sprintf(&quot;%.2f Requests/sec\n&quot;, 
  -                                   $nof_requests_total / $total_time),
  -        &quot;Latency&quot;         =&gt; sprintf(&quot;%.2f secs/Request&quot;, 
  -                                   ($ua-&gt;get_latency_total() || 0) / 
  -                                   $nof_requests_total),
  -       );
  -  
  -  
  -  my ($left, $right);
  -  ###
  -  # Print out statistics
  -  ###
  -  format STDOUT =
  -  @&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt;&lt; @*
  -  &quot;$left:&quot;,        $right
  -  .
  -  
  -  while(($left, $right) = splice(@P, 0, 2)) {
  -    write;
  -  }</pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  +</p>
  +           <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H2><A NAME="Choosing_MaxClients">Choosing MaxClients</A></H2></CENTER>
  @@ -4700,7 +4651,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4728,7 +4679,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4767,7 +4718,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4787,7 +4738,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4807,7 +4758,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4824,7 +4775,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4844,7 +4795,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4868,7 +4819,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4885,7 +4836,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4979,7 +4930,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5003,7 +4954,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5107,7 +5058,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5137,7 +5088,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5193,7 +5144,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5234,7 +5185,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5262,7 +5213,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5285,7 +5236,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5320,7 +5271,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5346,7 +5297,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5373,7 +5324,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5418,7 +5369,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5439,7 +5390,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5457,7 +5408,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5478,7 +5429,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5492,14 +5443,14 @@
         </tr>
       </table>
       <P>
  -And when running our script in parallel with this processes, we get:
  +And when running our script in parallel with these processes, we get:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5531,7 +5482,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5571,7 +5522,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5598,7 +5549,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5633,7 +5584,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5653,7 +5604,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5680,7 +5631,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5698,7 +5649,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5719,7 +5670,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5744,7 +5695,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5763,7 +5714,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5785,7 +5736,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5810,7 +5761,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5855,7 +5806,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5946,7 +5897,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5968,7 +5919,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5997,7 +5948,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6023,7 +5974,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6050,7 +6001,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6073,7 +6024,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6101,7 +6052,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6130,7 +6081,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6175,7 +6126,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6236,7 +6187,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6284,7 +6235,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6315,7 +6266,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6342,7 +6293,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6376,7 +6327,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6395,7 +6346,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6425,7 +6376,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6446,7 +6397,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6469,7 +6420,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6495,7 +6446,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6527,7 +6478,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6558,7 +6509,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6579,7 +6530,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6619,7 +6570,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6644,7 +6595,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6670,7 +6621,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6691,7 +6642,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6720,7 +6671,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6764,7 +6715,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6811,7 +6762,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6832,7 +6783,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6884,7 +6835,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6918,7 +6869,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -6968,7 +6919,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7003,7 +6954,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7022,7 +6973,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7045,7 +6996,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7080,7 +7031,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7101,7 +7052,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7122,7 +7073,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7154,7 +7105,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7210,7 +7161,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7227,7 +7178,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7245,7 +7196,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7262,7 +7213,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7280,7 +7231,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7297,7 +7248,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7315,7 +7266,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7364,7 +7315,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7402,7 +7353,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7432,7 +7383,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7475,7 +7426,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7497,7 +7448,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7540,7 +7491,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7563,7 +7514,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7588,7 +7539,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7606,7 +7557,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7632,7 +7583,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7688,7 +7639,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7742,7 +7693,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7767,7 +7718,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7787,7 +7738,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7809,7 +7760,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7832,7 +7783,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7873,7 +7824,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7906,7 +7857,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7945,7 +7896,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7960,7 +7911,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7975,7 +7926,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -7994,7 +7945,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8018,7 +7969,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8081,7 +8032,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8186,7 +8137,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8205,7 +8156,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8230,7 +8181,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8254,7 +8205,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8273,7 +8224,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8314,7 +8265,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8333,7 +8284,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8358,7 +8309,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8377,7 +8328,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8396,7 +8347,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8415,7 +8366,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8474,7 +8425,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8494,7 +8445,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8522,7 +8473,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8561,7 +8512,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8591,7 +8542,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8631,7 +8582,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8659,7 +8610,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8760,15 +8711,31 @@
   <CENTER><H2><A NAME="Persistent_DB_Connections">Persistent DB 
Connections</A></H2></CENTER>
   <P>
   Another popular use of mod_perl is to take advantage of its ability to
  -maintain persistent open database connections. The basic approach is as
  -follows:
  +maintain persistent open database connections.
  +
  +<P>
  +You want to have a persistent database connection because the the most
  +expensive part of a network transaction for most databases is the business
  +of building and tearning down connections.
  +
  +<P>
  +Of course the persistence doesn't help with the latency problems during the
  +actual use of the database connections. Oracle is notoriously
  +latency-sensitive which in most cases generates a network transaction per
  +row returned which slows things down if the query execution matches many
  +rows. You may want to read the Tim Bunce's Advanced DBI talk at <A
  
+HREF="http://www.carumba.com/talk/perl/DBI_Talk3_1999/">http://www.carumba.com/talk/perl/DBI_Talk3_1999/</A>
  +which covers a lot of techniques to reduce latency.
  +
  +<P>
  +So here is the basic approach of making the connection persistent:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8812,7 +8779,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8831,7 +8798,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8864,7 +8831,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8956,7 +8923,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -8992,7 +8959,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9050,7 +9017,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9109,7 +9076,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9129,7 +9096,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9147,7 +9114,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9178,7 +9145,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9203,7 +9170,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9294,7 +9261,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9352,7 +9319,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9407,7 +9374,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9458,18 +9425,20 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H2><A NAME="Upload_Download_of_Big_Files">Upload/Download of Big 
Files</A></H2></CENTER>
  +<CENTER><H1><A NAME="Upload_and_Download_of_Big_Files">Upload and Download of Big 
Files</A></H1></CENTER>
   <P>
   You don't want to tie up your precious mod_perl backend server children
  -doing something as long and dumb as transfering a file. The user won't
  -really see any important performance benefits from mod_perl anyway, since
  -the upload may take up to several minutes, and the overhead saved by
  -mod_perl is typically under one second.
  +doing something as long and simple as transfering a file, especially a big
  +one. The overhead saved by mod_perl is typically under one second, which is
  +an enormous saving for the scripts whose run time is under one second. The
  +user won't really see any important performance benefits from mod_perl,
  +since the upload may take up to several minutes.
   
   <P>
   If some particular script's main functionality is the uploading or
   downloading of big files, you probably want it to be executed on a plain
  -apache server under mod_cgi.
  +apache server under mod_cgi (i.e. performing this operation on the
  +front-end server, if you use <A 
HREF="././scenario.html#One_Plain_and_One_mod_perl_enabl">a dual-server setup</A>.
   
   <P>
   This of course assumes that the script requires none of the functionality
  @@ -9504,7 +9473,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9531,7 +9500,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9559,7 +9528,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9575,7 +9544,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9595,7 +9564,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9696,7 +9665,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9714,7 +9683,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -9736,11 +9705,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="porting.html">Prev</a>                                 |
  +      <a href="./porting.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="frequent.html">Next</a>
  +      <a href="./frequent.html">Next</a>
       </div>
       <p>
   
  @@ -9783,7 +9752,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/21/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/20/2000
   </font></b>
   <br>
   
  
  
  
  1.16      +359 -192  modperl-site/guide/perl.html
  
  Index: perl.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/perl.html,v
  retrieving revision 1.15
  retrieving revision 1.16
  diff -u -r1.15 -r1.16
  --- perl.html 2000/08/21 13:18:09     1.15
  +++ perl.html 2000/11/26 22:02:31     1.16
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Perl Reference</title>
  +   <title>mod_perl guide: Perl Reference </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Perl Reference
  +      Perl Reference 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="start.html">Prev</a>                                 |
  +      <a href="./start.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="install.html">Next</a>
  +      <a href="./install.html">Next</a>
       </div>
       <p>
   
  @@ -57,6 +57,7 @@
                <LI><A HREF="#The_Remedy">The Remedy</A>
        </UL>
   
  +     <LI><A HREF="#Understanding_Closures_the_Ea">Understanding Closures - the Easy 
Way</A>
        <LI><A HREF="#When_You_Cannot_Get_Rid_of_The_I">When You Cannot Get Rid of The 
Inner Subroutine</A>
        <UL>
   
  @@ -182,8 +183,12 @@
   for the version of perl you're using.
   
   <P>
  -While you can use online Perl documentation at the Web, the <CODE>perldoc</CODE>
  -utility provides you with access to the documentation installed on your
  +Of course you can use online Perl documentation at the Web. I prefer <A
  
+HREF="http://theoryx5.uwinnipeg.ca/CPAN/perl/">http://theoryx5.uwinnipeg.ca/CPAN/perl/</A>
  +to the official URL: <A
  
+HREF="http://www.perl.com/pub/v/documentation">http://www.perl.com/pub/v/documentation</A>
  +is very slow :( . The
  +<CODE>perldoc</CODE> utility provides you with access to the documentation 
installed on your
   system. To find out what Perl manpages are available execute:
   
   <P>
  @@ -191,7 +196,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -209,7 +214,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -228,7 +233,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -251,7 +256,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -273,7 +278,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -302,7 +307,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -343,7 +348,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -361,7 +366,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -379,7 +384,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -408,7 +413,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -442,7 +447,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -482,7 +487,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -505,7 +510,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -588,7 +593,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -698,60 +703,41 @@
   is a disaster in C or C++; the perl equivalent, returning a reference to a
   lexical variable created in a function is normal and useful.)
   
  +<UL>
  +<P><LI>
   <P>
  -Also see the clarification of <CODE>my()</CODE> vs. <CODE>use vars</CODE> - Ken 
Williams writes:
  +<CODE>my()</CODE> vs. <CODE>use vars</CODE>:
   
   <P>
  +With use <CODE>vars(),</CODE> you are making an entry in the symbol table,
  +and you are telling the compiler that you are going to be referencing that
  +entry without an explicit package name.
   
  -    <table>
  -      <tr>
  -
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  -
  -     <td>
  -       <pre>  Yes, there is quite a bit of difference!  With use vars(), you are
  -  making an entry in the symbol table, and you are telling the
  -  compiler that you are going to be referencing that entry without an
  -  explicit package name.
  -  
  -  With my(), NO ENTRY IS PUT IN THE SYMBOL TABLE.  The compiler
  -  figures out C&lt;at compile time&gt; which my() variables (i.e. lexical
  -  variables) are the same as each other, and once you hit execute time
  -  you cannot go looking those variables up in the symbol table.</pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  -And <CODE>my()</CODE> vs. <CODE>local()</CODE> - Randal Schwartz writes:
  +<P>
  +With <CODE>my(),</CODE> NO ENTRY IS PUT IN THE SYMBOL TABLE. The compiler
  +figures out <CODE>at compile time</CODE> which <CODE>my()</CODE> variables (i.e. 
lexical variables) are the same as
  +each other, and once you hit execute time you cannot go looking those
  +variables up in the symbol table.
   
  +<P><LI>
   <P>
  +<CODE>my()</CODE> vs. <CODE>local()</CODE>:
   
  -    <table>
  -      <tr>
  +<P>
  +<CODE>local()</CODE> creates a temporal-limited package-based scalar,
  +array, hash, or glob -- when the scope of definition is exited at runtime,
  +the previous value (if any) is restored. References to such a variable are
  +*also* global... only the value changes. (Aside: that is what causes
  +variable suicide. :)
   
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  +<P>
  +<CODE>my()</CODE> creates a lexically-limited non-package-based scalar,
  +array, or hash -- when the scope of definition is exited at compile-time,
  +the variable ceases to be accessible. Any references to such a variable at
  +runtime turn into unique anonymous variables on each scope exit.
   
  -     <td>
  -       <pre>  local() creates a temporal-limited package-based scalar, array,
  -  hash, or glob -- when the scope of definition is exited at runtime,
  -  the previous value (if any) is restored.  References to such a
  -  variable are *also* global... only the value changes.  (Aside: that
  -  is what causes variable suicide. :)
  -  
  -  my() creates a lexically-limited non-package-based scalar, array, or
  -  hash -- when the scope of definition is exited at compile-time, the
  -  variable ceases to be accessible.  Any references to such a variable
  -  at runtime turn into unique anonymous variables on each scope exit.</pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  +</UL>
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H2><A NAME="Additional_reading_references">Additional reading 
references</A></H2></CENTER>
  @@ -782,7 +768,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -820,7 +806,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -842,7 +828,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -861,7 +847,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -882,7 +868,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -901,7 +887,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -932,7 +918,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -955,7 +941,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -976,7 +962,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1045,7 +1031,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1074,10 +1060,9 @@
         </tr>
       </table>
       <P>
  -Now <CODE>$func_ref</CODE> contains a reference to an anonymous function, which we 
later use when we
  -need to get the power of two. (In Perl, a function is the same thing as a
  -subroutine.) Since it is anonymous, the function will automatically be
  -rebound to the new value of the outer scoped variable <CODE>$x</CODE>, and the 
results will now be as expected.
  +Now <CODE>$func_ref</CODE> contains a reference to an anonymous subroutine, which 
we later use when we
  +need to get the power of two. Since it is anonymous, the subroutine will
  +automatically be rebound to the new value of the outer scoped variable 
<CODE>$x</CODE>, and the results will now be as expected.
   
   <P>
   Let's verify:
  @@ -1087,7 +1072,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1106,6 +1091,159 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  +<CENTER><H1><A NAME="Understanding_Closures_the_Ea">Understanding Closures -- the 
Easy Way</A></H1></CENTER>
  +<P>
  +In Perl, a closure is just a subroutine that refers to one or more lexical
  +variables declared outside the subroutine itself and must therefore create
  +a distinct clone of the environment on the way out.
  +
  +<P>
  +And both named subroutines and anonymous subroutines can be closures.
  +
  +<P>
  +Here's how to tell if a subroutine is a closure or not:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  for (1..5) {
  +    push @a, sub { &quot;hi there&quot; };
  +  }
  +  for (1..5) {
  +    {
  +      my $b;
  +      push @b, sub { $b.&quot;hi there&quot; };
  +    }
  +  }
  +  print &quot;anon normal:\n&quot;, join &quot;\t\n&quot;,@a,&quot;\n&quot;;
  +  print &quot;anon closure:\n&quot;,join &quot;\t\n&quot;,@b,&quot;\n&quot;;</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +which generates:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  anon normal:
  +  CODE(0x80568e4)       
  +  CODE(0x80568e4)       
  +  CODE(0x80568e4)       
  +  CODE(0x80568e4)       
  +  CODE(0x80568e4)       
  +  
  +  anon closure:
  +  CODE(0x804b4c0)       
  +  CODE(0x8056b54)       
  +  CODE(0x8056bb4)       
  +  CODE(0x80594d8)       
  +  CODE(0x8059538)       </pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +Note how each code reference from the non-closure is identical, but the
  +closure form must generate distinct coderefs to point at the distinct
  +instances of the closure.
  +
  +<P>
  +And now the same with named subroutines:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  for (1..5) {
  +    sub a { &quot;hi there&quot; };
  +    push @a, \&amp;a;
  +  }
  +  for (1..5) {
  +    {
  +      my $b;
  +      sub b { $b.&quot;hi there&quot; };
  +      push @b, \&amp;b;
  +    }
  +  }
  +  print &quot;normal:\n&quot;, join &quot;\t\n&quot;,@a,&quot;\n&quot;;
  +  print &quot;closure:\n&quot;,join &quot;\t\n&quot;,@b,&quot;\n&quot;;</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +which generates:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  anon normal:
  +  CODE(0x80568c0)       
  +  CODE(0x80568c0)       
  +  CODE(0x80568c0)       
  +  CODE(0x80568c0)       
  +  CODE(0x80568c0)       
  +  
  +  anon closure:
  +  CODE(0x8056998)       
  +  CODE(0x8056998)       
  +  CODE(0x8056998)       
  +  CODE(0x8056998)       
  +  CODE(0x8056998)       </pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +We can see that both versions has generated the same code reference. For
  +the subroutine <EM>a</EM> it's easy, since it doesn't include any lexical variables 
defined outside
  +it in the same lexical scope. 
  +
  +<P>
  +As for the subroutine <EM>b</EM>, it's indeed a closure, but Perl won't recompile 
it since it's a named
  +subroutine (see the <EM>perlsub</EM>
  +manpage). It's something that we don't want to happen in our code unless we
  +want it for this special effect, similar to <EM>static</EM>
  +variables in C.
  +
  +<P>
  +This is the underpinnings of that famous <EM>"won't stay shared"</EM>
  +message. A <EM>my</EM> variable in a named subroutine context is generating 
identical code
  +references and therefore it ignores any future changes to the lexical
  +variables outside of it.
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
   <CENTER><H1><A NAME="When_You_Cannot_Get_Rid_of_The_I">When You Cannot Get Rid of 
The Inner Subroutine</A></H1></CENTER>
   <P>
   First you might wonder, why in the world will someone need to define an
  @@ -1148,7 +1286,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1169,7 +1307,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1194,7 +1332,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1218,7 +1356,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1249,7 +1387,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1271,7 +1409,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1315,7 +1453,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1360,7 +1498,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1387,7 +1525,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1402,7 +1540,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1435,7 +1573,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1478,7 +1616,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1511,7 +1649,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1564,7 +1702,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1614,7 +1752,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1662,7 +1800,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1709,7 +1847,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1737,7 +1875,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1756,7 +1894,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1772,7 +1910,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1848,7 +1986,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1874,7 +2012,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1897,7 +2035,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1918,7 +2056,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1941,7 +2079,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1965,7 +2103,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1988,7 +2126,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2010,7 +2148,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2028,7 +2166,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2066,7 +2204,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2084,15 +2222,15 @@
         </tr>
       </table>
       <P>
  -In the above example <CODE>$FindBin::Bin</CODE> is equal to <EM>/tmp</EM>. If we 
move the script somewhere else... e.g. <EM>/tmp/x</EM> in the code above
  -<CODE>$FindBin::Bin</CODE> equals <EM>/home/x</EM>.
  +In the above example <CODE>$FindBin::Bin</CODE> is equal to <EM>/tmp</EM>. If we 
move the script somewhere else... e.g. <EM>/tmp/new_dir</EM> in the code above
  +<CODE>$FindBin::Bin</CODE> equals <EM>/tmp/new_dir</EM>.
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2115,7 +2253,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2164,7 +2302,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2184,7 +2322,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2205,7 +2343,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2249,7 +2387,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2306,7 +2444,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2325,7 +2463,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2353,7 +2491,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2371,7 +2509,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2393,7 +2531,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2419,7 +2557,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2449,7 +2587,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2469,7 +2607,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2506,7 +2644,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2524,7 +2662,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2547,7 +2685,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2568,7 +2706,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2670,7 +2808,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2688,7 +2826,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2712,7 +2850,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2739,7 +2877,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2766,7 +2904,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2811,7 +2949,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2833,7 +2971,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2851,7 +2989,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2875,7 +3013,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2913,7 +3051,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2963,7 +3101,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2999,7 +3137,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3033,7 +3171,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3051,7 +3189,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3098,7 +3236,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3118,7 +3256,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3136,7 +3274,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3171,7 +3309,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3198,7 +3336,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3216,7 +3354,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3235,7 +3373,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3276,7 +3414,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3298,7 +3436,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3325,7 +3463,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3366,7 +3504,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3407,7 +3545,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3430,7 +3568,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3461,7 +3599,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3490,7 +3628,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3510,7 +3648,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3537,7 +3675,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3568,7 +3706,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3589,6 +3727,33 @@
         </tr>
       </table>
       <P>
  +And of course you can use the <CODE>qr()</CODE> operator which makes the
  +code even more efficient:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  my $pat = '^foo$';
  +  my $re  = qr($pat);
  +  foreach( @list ) {
  +      print if /$re/o;
  +    }</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +The <CODE>qr()</CODE> operator compiles the pattern for each request and
  +then use the compiled version in the actual match.
  +
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H1><A NAME="Exception_Handling_for_mod_perl">Exception Handling for 
mod_perl</A></H1></CENTER>
  @@ -3628,7 +3793,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3661,7 +3826,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3713,7 +3878,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3735,7 +3900,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3761,7 +3926,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3782,7 +3947,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3806,7 +3971,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3888,7 +4053,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3918,7 +4083,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3962,7 +4127,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4007,7 +4172,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4048,7 +4213,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4081,7 +4246,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4108,7 +4273,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4153,7 +4318,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4217,7 +4382,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4252,7 +4417,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4304,7 +4469,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4323,7 +4488,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4375,7 +4540,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4453,16 +4618,18 @@
   handling because it is well known and well supported and used by a lot of
   other applications.
   
  -<P><LI><STRONG><A NAME="item_Exception">Exception.pm and StackTrace.pm</A></STRONG>
  +<P><LI><STRONG><A NAME="item_Exception">Exception::Class and 
Devel::StackTrace</A></STRONG>
   <P>
  -by Autarch (from <A
  -HREF="ftp://ftp.urth.org/pub/">ftp://ftp.urth.org/pub/</A>).
  +by Dave Rolsky both available from CPAN of course.
   
   <P>
  -<CODE>Exception</CODE> a bit cleaner than the AUTOLOAD method from the above 
examples as it can
  -catch typos later on. Plus it lets you create actual class hierarchies for
  -your exceptions, which could be nice if you want to create exception
  -classes that do more stuff and then inherit from them.
  +<CODE>Exception::Class</CODE> is a bit cleaner than the <CODE>AUTOLOAD</CODE> 
method from above as it can catch typos in exception class names, whereas
  +the method above will automatically create a new class for you. In
  +addition, it lets you create actual class hierarchies for your exceptions,
  +which can be useful if you want to create exception 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.
   
   <P><LI><STRONG><A NAME="item_Try">Try.pm</A></STRONG>
   <P>
  @@ -4478,11 +4645,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="start.html">Prev</a>                                 |
  +      <a href="./start.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="install.html">Next</a>
  +      <a href="./install.html">Next</a>
       </div>
       <p>
   
  @@ -4525,7 +4692,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/14/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/25/2000
   </font></b>
   <br>
   
  
  
  
  1.31      +528 -182  modperl-site/guide/porting.html
  
  Index: porting.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/porting.html,v
  retrieving revision 1.30
  retrieving revision 1.31
  diff -u -r1.30 -r1.31
  --- porting.html      2000/08/21 13:18:09     1.30
  +++ porting.html      2000/11/26 22:02:31     1.31
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: CGI to mod_perl Porting. mod_perl Coding 
guidelines.</title>
  +   <title>mod_perl guide: CGI to mod_perl Porting. mod_perl Coding guidelines. 
</title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      CGI to mod_perl Porting. mod_perl Coding guidelines.
  +      CGI to mod_perl Porting. mod_perl Coding guidelines. 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="scenario.html">Prev</a>                                 |
  +      <a href="./scenario.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="performance.html">Next</a>
  +      <a href="./performance.html">Next</a>
       </div>
       <p>
   
  @@ -58,6 +58,16 @@
   
                <LI><A HREF="#Restarting_the_server">Restarting the server</A>
                <LI><A HREF="#Using_Apache_StatINC_for_the_De">Using Apache::StatINC 
for the Development Process</A>
  +             <LI><A HREF="#Using_Apache_Reload">Using Apache::Reload </A>
  +             <UL>
  +
  +                     <LI><A HREF="#Register_Modules_Implicitly">Register Modules 
Implicitly</A>
  +                     <LI><A HREF="#Register_Modules_Explicitly">Register Modules 
Explicitly</A>
  +                     <LI><A HREF="#Special_Touch_File">Special &quot;Touch&quot; 
File</A>
  +                     <LI><A HREF="#Caveats">Caveats</A>
  +                     <LI><A HREF="#Availability">Availability</A>
  +             </UL>
  +
                <LI><A HREF="#Configuration_Files_Writing_Dy">Configuration Files: 
Writing, Dynamically Updating and Reloading</A>
                <UL>
   
  @@ -76,6 +86,7 @@
        <LI><A HREF="#Using_format_and_write_">Using format() and write()</A>
        <LI><A HREF="#Terminating_requests_and_process">Terminating requests and 
processes, the exit() and child_terminate() functions</A>
        <LI><A HREF="#die_and_mod_perl">die() and mod_perl</A>
  +     <LI><A HREF="#Return_Codes">Return Codes</A>
        <LI><A HREF="#Testing_the_Code_from_the_Shell">Testing the Code from the 
Shell</A>
        <LI><A HREF="#I_O_is_different">I/O is different</A>
        <LI><A HREF="#STDIN_STDOUT_and_STDERR_streams">STDIN, STDOUT and STDERR 
streams</A>
  @@ -246,7 +257,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -280,7 +291,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -306,7 +317,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -337,7 +348,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -377,7 +388,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -415,7 +426,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -483,7 +494,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -512,7 +523,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -553,7 +564,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -576,7 +587,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -702,7 +713,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -745,7 +756,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -787,7 +798,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -811,7 +822,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -845,7 +856,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -900,7 +911,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -918,7 +929,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -941,7 +952,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -961,7 +972,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1034,7 +1045,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1054,7 +1065,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1087,7 +1098,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1123,7 +1134,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1139,6 +1150,198 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  +<CENTER><H2><A NAME="Using_Apache_Reload">Using Apache::Reload</A></H2></CENTER>
  +<P>
  +<CODE>Apache::Reload</CODE> comes as a drop-in replacement for
  +<CODE>Apache::StatINC</CODE>. It provides extra functionality and better 
flexibility.
  +
  +<P>
  +If you want <CODE>Apache::Reload</CODE> to check all the loaded modules on each 
request, you just add to <EM>httpd.conf</EM>:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  PerlInitHandler Apache::Reload</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +If you want to reload only specific modules when these get changed, you
  +have two ways to do that. 
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
  +<CENTER><H3><A NAME="Register_Modules_Implicitly">Register Modules 
Implicitly</A></H3></CENTER>
  +<P>
  +The first way is to turn <EM>Off</EM> the <CODE>ReloadAll</CODE> variable, which is
  +<EM>On</EM> by default
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  PerlInitHandler Apache::Reload
  +  PerlSetVar ReloadAll Off</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +and add:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  use Apache::Reload;</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +to every module that you want to be reloaded on change.
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
  +<CENTER><H3><A NAME="Register_Modules_Explicitly">Register Modules 
Explicitly</A></H3></CENTER>
  +<P>
  +The second way is to explicitly specify modules to be reloaded in
  +<EM>httpd.conf</EM>:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  PerlInitHandler Apache::Reload
  +  PerlSetVar ReloadModules &quot;My::Foo My::Bar Foo::Bar::Test&quot;</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +Note that these are split on whitespace, but the module list <STRONG>must</STRONG>
  +be in quotes, otherwise Apache tries to parse the parameter list.
  +
  +<P>
  +You can register groups of modules using the metacharacter (<CODE>*</CODE>).
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>    PerlSetVar ReloadModules &quot;Foo::* Bar::*&quot;</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +In the above example all modules starting with <EM>Foo::</EM> and <EM>Bar::</EM>
  +will become registered. This features allows you to assign the whole
  +project modules tree in one pattern.
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
  +<CENTER><H3><A NAME="Special_Touch_File">Special &quot;Touch&quot; 
File</A></H3></CENTER>
  +<P>
  +You can also set a file that you can <CODE>touch(1)</CODE> that causes the
  +reloads to be performed. If you set this, and don't <CODE>touch(1)</CODE>
  +the file, the reloads don't happen (no matter how have you registered the
  +modules to be reloaded).
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  PerlSetVar ReloadTouchFile /tmp/reload_modules</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +Now when you're happy with your changes, simply go to the command line and
  +type:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  % touch /tmp/reload_modules</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +This feature is very convenient in a production server environment, but
  +compared to a full restart, the benefits of preloaded modules memory
  +sharing are lost, since each child will get it's own copy of the reloaded
  +modules.
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
  +<CENTER><H3><A NAME="Caveats">Caveats</A></H3></CENTER>
  +<P>
  +This module might have a problem with reloading single modules that contain
  +multiple packages that all use pseudo-hashes.
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
  +<CENTER><H3><A NAME="Availability">Availability</A></H3></CENTER>
  +<P>
  +This module is available from <A HREF="././download.html#CPAN_Downloads">CPAN</A>. 
In one of the next mod_perl releases, it should become a part of the CORE
  +distribution.
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
   <CENTER><H2><A NAME="Configuration_Files_Writing_Dy">Configuration Files: Writing, 
Dynamically Updating and Reloading</A></H2></CENTER>
   <P>
   Checking all the modules in <STRONG>%INC</STRONG> on every request can add a large 
overhead to server response times, and you
  @@ -1178,7 +1381,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1210,7 +1413,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1245,7 +1448,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1279,7 +1482,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1324,7 +1527,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1360,7 +1563,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1379,7 +1582,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1418,7 +1621,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1436,7 +1639,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1469,7 +1672,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1523,7 +1726,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1560,7 +1763,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1599,7 +1802,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1621,7 +1824,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1648,7 +1851,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1668,7 +1871,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1690,7 +1893,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1717,7 +1920,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1760,7 +1963,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1793,7 +1996,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1839,7 +2042,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1934,7 +2137,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2001,7 +2204,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2079,7 +2282,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2151,7 +2354,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2326,7 +2529,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2355,7 +2558,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2396,7 +2599,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2417,7 +2620,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2436,7 +2639,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2458,7 +2661,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2478,7 +2681,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2502,7 +2705,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2524,7 +2727,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2558,7 +2761,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2579,7 +2782,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2599,7 +2802,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2619,7 +2822,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2639,7 +2842,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2666,7 +2869,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2691,7 +2894,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2712,7 +2915,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2731,7 +2934,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2750,7 +2953,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2778,7 +2981,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2811,7 +3014,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2832,7 +3035,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2851,7 +3054,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2872,7 +3075,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2888,7 +3091,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2917,7 +3120,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2977,7 +3180,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3022,7 +3225,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3054,7 +3257,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3073,7 +3276,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3096,7 +3299,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3117,7 +3320,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3142,7 +3345,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3174,7 +3377,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3232,21 +3435,24 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  -       <pre>  use subs qw(exit);
  +       <pre>  use constant IS_MODPERL =&gt; $ENV{MOD_PERL};
  +  use subs qw(exit);
     # Select the correct exit function
  -  *exit = $ENV{MOD_PERL} ? \&amp;Apache::exit : sub { CORE::exit };</pre>
  +  *exit = IS_MODPERL ? \&amp;Apache::exit : sub { CORE::exit };</pre>
           </td>
            
         </tr>
       </table>
       <P>
  -Now the correct <CODE>exit()</CODE> will always be chosen, whether you run the 
script under mod_perl, ordinary
  -CGI or from the shell.
  +Now the correct <CODE>exit()</CODE> is always chosen, whether the script is running 
under mod_perl, ordinary
  +CGI or from the shell. Notice that since we are using the constant pragma,
  +there is no runtime overhead to select one of the code references, since 
<CODE>IS_MODPERL</CODE> constant is folded, that block is optimized away at compile 
time outside of
  +mod_perl.
   
   <P>
   Note that if you run the script under <CODE>Apache::Registry</CODE>, <STRONG>The
  @@ -3278,7 +3484,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3296,7 +3502,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3322,7 +3528,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3358,7 +3564,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3404,7 +3610,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3417,6 +3623,34 @@
       <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  +<CENTER><H1><A NAME="Return_Codes">Return Codes</A></H1></CENTER>
  +<P>
  +<CODE>Apache::Registry</CODE> normally assumes a return code of <CODE>OK</CODE> 
(<CODE>200</CODE>). If you want to send another return code, use 
<CODE>$r-&gt;status()</CODE>:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  use Apache::Constants qw(NOT_FOUND);
  +  $r-&gt;status(NOT_FOUND);</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +Of course if you do that, you don't have to call
  +<CODE>$r-&gt;send_http_header()</CODE> (assuming that you have <CODE>PerlSendHeader
  +Off</CODE>).
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
   <CENTER><H1><A NAME="Testing_the_Code_from_the_Shell">Testing the Code from the 
Shell</A></H1></CENTER>
   <P>
   Your CGI scripts will <STRONG>not</STRONG> yet run from the command line unless you 
use <CODE>CGI::Switch</CODE> or <CODE>CGI.pm</CODE> and have Perl 5.004 or later. They 
must not make any direct calls to
  @@ -3439,9 +3673,35 @@
   <HR>
   <CENTER><H1><A NAME="STDIN_STDOUT_and_STDERR_streams">STDIN, STDOUT and STDERR 
streams</A></H1></CENTER>
   <P>
  -In mod_perl both <CODE>STDIN</CODE> and <CODE>STDOUT</CODE> are tied to the socket 
the request came from. <CODE>STDERR</CODE> is tied to the <EM>error_log</EM> file.
  +In mod_perl both <CODE>STDIN</CODE> and <CODE>STDOUT</CODE> are tied to the socket 
the request came from. Because the C level STDOUT is
  +not hooked up to the client, you can re-open the STDOUT filehandler using
  +<CODE>tie().</CODE> For example if you want your code to work with mod_perl
  +and without it, the following example will do:
   
   <P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  use constant IS_MODPERL =&gt; $ENV{MOD_PERL};
  +  if (IS_MODPERL) {
  +    tie *OUT, 'Apache';
  +  } else {
  +    open (OUT, &quot;&gt;-&quot;);
  +  }</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +<CODE>STDERR</CODE> is tied to the file defined by the <CODE>ErrorLog</CODE> 
directive.
  +
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H1><A NAME="Apache_print_and_CORE_print_">Apache::print() and 
CORE::print()</A></H1></CENTER>
  @@ -3468,7 +3728,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3487,7 +3747,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3505,7 +3765,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3549,7 +3809,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3569,7 +3829,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3591,7 +3851,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3611,7 +3871,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3635,7 +3895,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3674,7 +3934,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3693,7 +3953,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3711,7 +3971,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3729,7 +3989,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3747,7 +4007,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3783,7 +4043,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3804,7 +4064,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3824,7 +4084,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3854,7 +4114,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3880,7 +4140,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3925,7 +4185,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3950,7 +4210,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3992,7 +4252,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4035,7 +4295,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4076,7 +4336,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4153,7 +4413,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4171,7 +4431,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4303,7 +4563,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4346,7 +4606,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4368,7 +4628,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4390,7 +4650,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4412,7 +4672,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4435,7 +4695,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4457,7 +4717,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4504,15 +4764,14 @@
   service.
   
   <P>
  -Since the <CODE>-T</CODE> switch doesn't have an equivalent perl variable, mod_perl 
provides the <CODE>PerlTaintCheck</CODE> directive to turn on taint checks. In
  -<CODE>httpd.conf</CODE>, enable this mode with:
  +Since the <CODE>-T</CODE> switch doesn't have an equivalent perl variable, mod_perl 
provides the <CODE>PerlTaintCheck</CODE> directive to turn on taint checks. In 
<CODE>httpd.conf</CODE>, enable this mode with:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4545,6 +4804,9 @@
   <CODE>PERL5OPT</CODE> will be ignored.
   
   <P>
  +[META: verify]
  +
  +<P>
   See also
   <A HREF="././modules.html#Apache_PerlRun_Run_unaltered_">Apache::PerlRun</A>.
   
  @@ -4561,7 +4823,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4580,7 +4842,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4604,17 +4866,14 @@
   <HR>
   <CENTER><H1><A NAME="Passing_ENV_variables_to_CGI">Passing ENV variables to 
CGI</A></H1></CENTER>
   <P>
  -META: there is a duplication with config.pod here.
  +To pass an environment variable from <EM>httpd.conf</EM>, add to it:
   
   <P>
  -To pass an environment variable from a configuration file, add to it:
   
  -<P>
  -
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4633,7 +4892,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4648,15 +4907,44 @@
   
   <P>
   <CODE>%ENV</CODE> is only set up for CGI emulation. If you are using the API, you 
should use <CODE>$r-&gt;subprocess_env</CODE>, <CODE>$r-&gt;notes</CODE> or
  -<CODE>$r-&gt;pnotes</CODE> for passing data around between handlers. 
<CODE>%ENV</CODE> is slow because it must update the underlying C environment table. 
This
  -also exposes the data on systems which allow users to see the environment
  -with <CODE>ps</CODE>.
  +<CODE>$r-&gt;pnotes</CODE> for passing data around between handlers. 
<CODE>%ENV</CODE> is slow because it must update the underlying C environment table. 
It also
  +insecure sinve its use exposes the data on systems which allow users to see
  +the environment with <CODE>ps</CODE>.
   
   <P>
   In any case, <CODE>%ENV</CODE> and the tables used by those methods are all cleared 
after the request is
  -served so that <CODE>$ENV{SESSION_ID}</CODE> will not be swapped or reused by 
different http requests.
  +served. 
  +
  +<P>
  +The Perl <CODE>%ENV</CODE> is cleared during startup, but the C environment is left 
in tact. With a
  +combo of forking <CODE>`env`</CODE> and <CODE>&lt;Perl&gt;</CODE>
  +sections you can do even do wildcards matching. For example, this passes
  +all environment variables that begin with the letter H:
   
   <P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  &lt;Perl&gt;
  +    local $ENV{PATH} = '/usr/bin';
  +    local $_;
  +    
  +    for (`env`) {
  +        next unless /^(H.*)=/;
  +        push @PassEnv, $1;
  +    }
  +  &lt;/Perl&gt;</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
   See also <A HREF="././performance.html#PerlSetupEnv_Off">PerlSetupEnv</A> which can 
enable/disable environment variables settings.
   
   <P>
  @@ -4671,9 +4959,67 @@
   behavior with perl.
   
   <P>
  -If you want to have <CODE>-M</CODE> report the time relative to the current 
request, you should reset the <CODE>$^T</CODE> variable just as with any other perl 
script. Add <CODE>$^T=time;</CODE> at the beginning of the script.
  +If you want to have <CODE>-M</CODE> report the time relative to the current 
request, you should reset the <CODE>$^T</CODE> variable just as with any other perl 
script. Add:
   
   <P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  local $^T=time;</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +at the beginning of the script.
  +
  +<P>
  +Another even simpler solution would be to specify a fixup handler, which
  +will be executed before each script is run:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  sub Apache::PerlBaseTime::handler {
  +    $^T = shift-&gt;request_time;
  +    return Apache::Constants::DECLINED;
  +  }</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +and then in the <EM>httpd.conf</EM>:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  PerlFixupHandler Apache::PerlBaseTime</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H1><A NAME="Apache_and_syslog">Apache and syslog</A></H1></CENTER>
  @@ -4701,7 +5047,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4736,7 +5082,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4754,7 +5100,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4787,7 +5133,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4810,7 +5156,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4834,7 +5180,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4857,7 +5203,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4891,7 +5237,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4956,7 +5302,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -4987,7 +5333,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5006,7 +5352,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5041,7 +5387,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5101,7 +5447,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5242,7 +5588,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5278,7 +5624,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5320,7 +5666,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5340,7 +5686,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5361,7 +5707,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5392,7 +5738,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5418,7 +5764,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5455,7 +5801,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5475,7 +5821,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5498,7 +5844,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5524,7 +5870,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5569,7 +5915,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5588,7 +5934,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5607,7 +5953,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5626,7 +5972,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5645,7 +5991,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5765,7 +6111,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5785,7 +6131,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5803,7 +6149,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5821,7 +6167,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5845,7 +6191,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -5878,11 +6224,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="scenario.html">Prev</a>                                 |
  +      <a href="./scenario.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="performance.html">Next</a>
  +      <a href="./performance.html">Next</a>
       </div>
       <p>
   
  @@ -5925,7 +6271,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/20/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/26/2000
   </font></b>
   <br>
   
  
  
  
  1.29      +502 -632  modperl-site/guide/scenario.html
  
  Index: scenario.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/scenario.html,v
  retrieving revision 1.28
  retrieving revision 1.29
  diff -u -r1.28 -r1.29
  --- scenario.html     2000/08/21 13:18:10     1.28
  +++ scenario.html     2000/11/26 22:02:32     1.29
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Real World Scenarios</title>
  +   <title>mod_perl guide: Real World Scenarios </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Real World Scenarios
  +      Real World Scenarios 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="strategy.html">Prev</a>                                 |
  +      <a href="./strategy.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="porting.html">Next</a>
  +      <a href="./porting.html">Next</a>
       </div>
       <p>
   
  @@ -34,6 +34,7 @@
   
   <UL>
   
  +     <LI><A HREF="#Assumptions">Assumptions </A>
        <LI><A HREF="#Standalone_mod_perl_Enabled_Apac">Standalone mod_perl Enabled 
Apache Server</A>
        <UL>
   
  @@ -63,13 +64,6 @@
   
        <LI><A HREF="#Running_Two_webservers_and_Squid">Running Two webservers and 
Squid in httpd Accelerator Mode</A>
        <LI><A HREF="#Running_One_Webserver_and_Squid_">Running One Webserver and 
Squid in httpd Accelerator Mode</A>
  -     <LI><A HREF="#One_Light_and_One_Heavy_Server_w">One Light and One Heavy Server 
where All HTML is Perl-generated</A>
  -     <UL>
  -
  -             <LI><A HREF="#Installation_and_Configuration">Installation and 
Configuration</A>
  -             <LI><A HREF="#Tricks_Traps_and_Gotchas">Tricks, Traps and Gotchas</A>
  -     </UL>
  -
        <LI><A HREF="#mod_proxy">mod_proxy</A>
        <UL>
   
  @@ -82,20 +76,16 @@
                </UL>
   
                <LI><A HREF="#Buffering_Feature">Buffering Feature</A>
  +             <LI><A HREF="#Setting_the_Buffering_Limits_on_">Setting the Buffering 
Limits on Various OSs</A>
                <UL>
  -
  -                     <LI><A HREF="#Setting_the_Buffering_Limits_on_">Setting the 
Buffering Limits on Various OSs</A>
  -                     <UL>
  -
  -                             <LI><A 
HREF="#IOBUFSIZE_Source_Code_Definition">IOBUFSIZE Source Code Definition</A>
  -                             <LI><A 
HREF="#ProxyReceiveBufferSize_Configura">ProxyReceiveBufferSize Configuration 
Directive</A>
  -                             <LI><A HREF="#Hacking_the_Code">Hacking the Code</A>
  -                     </UL>
   
  +                     <LI><A HREF="#IOBUFSIZE_Source_Code_Definition">IOBUFSIZE 
Source Code Definition</A>
  +                     <LI><A 
HREF="#ProxyReceiveBufferSize_Configura">ProxyReceiveBufferSize Configuration 
Directive</A>
  +                     <LI><A HREF="#Hacking_the_Code">Hacking the Code</A>
                </UL>
   
  -             <LI><A HREF="#Caching">Caching</A>
  -             <LI><A HREF="#Build_process">Build process</A>
  +             <LI><A HREF="#Caching_Feature">Caching Feature</A>
  +             <LI><A HREF="#Build_Process">Build Process</A>
        </UL>
   
        <LI><A HREF="#Front_end_Back_end_Proxying_with">Front-end Back-end Proxying 
with Virtual Hosts</A>
  @@ -103,7 +93,7 @@
        <UL>
   
                <LI><A HREF="#Build">Build</A>
  -             <LI><A HREF="#Use">Use</A>
  +             <LI><A HREF="#Usage">Usage</A>
                <LI><A HREF="#Security">Security</A>
                <LI><A HREF="#Caveats">Caveats</A>
                <LI><A HREF="#mod_proxy_add_forward_Module_s_O">mod_proxy_add_forward 
Module's Order Precedence</A>
  @@ -154,6 +144,18 @@
   <HR>
   
   <P>
  +<CENTER><H1><A NAME="Assumptions">Assumptions</A></H1></CENTER>
  +<P>
  +I will assume for this section that you are familiar with plain (not
  +mod_perl enabled) Apache, its compilation and configuration. In all
  +configuration and code examples I will use <EM>localhost</EM> or
  +<EM>www.example.com</EM> as a hostname. For the testing on a local machine,
  +<EM>localhost</EM> would be just fine. If you are using the real name of your 
machine make
  +sure to replace <EM>www.example.com</EM> with the name of your machine.
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
   <CENTER><H1><A NAME="Standalone_mod_perl_Enabled_Apac">Standalone mod_perl Enabled 
Apache Server</A></H1></CENTER>
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -168,7 +170,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -208,7 +210,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -233,7 +235,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -252,7 +254,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -271,7 +273,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -291,7 +293,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -312,7 +314,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -342,7 +344,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -365,7 +367,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -388,7 +390,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -418,7 +420,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -454,7 +456,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -481,7 +483,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -509,7 +511,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -527,7 +529,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -545,7 +547,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -566,7 +568,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -594,7 +596,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -613,7 +615,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -631,7 +633,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -650,7 +652,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -727,7 +729,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -747,7 +749,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -766,7 +768,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -784,7 +786,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -803,7 +805,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -829,7 +831,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -867,7 +869,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -893,7 +895,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -912,7 +914,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -932,7 +934,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -953,7 +955,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -994,7 +996,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1017,7 +1019,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1032,7 +1034,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1055,7 +1057,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1096,7 +1098,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1134,7 +1136,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1153,7 +1155,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1192,7 +1194,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1242,7 +1244,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1265,7 +1267,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1280,7 +1282,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1324,7 +1326,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1351,21 +1353,27 @@
   First, let's take a look at what we have already running and what we want
   from squid.
   
  -<P>
  -We have the <CODE>httpd_docs</CODE> and <CODE>httpd_perl</CODE> servers listening 
on ports 80 and 8080. We want squid to listen on port 80,
  -to forward requests for static objects (plain HTML pages, images and so on)
  -to the port which the httpd_docs server listens to, and dynamic requests to
  -httpd_perl's port. This is known as <CODE>httpd accelerator mode</CODE> in proxy 
dialect.
  -
   <P>
  -Our httpd_docs is listening to port 80, so we will have to reconfigure it
  -to listen to port 81, since port 80 will be taken by Squid. Both copies of
  -Apache will reside on the same machine as Squid. A proxy server makes all
  -the magic behind it transparent to users. Both Apache servers return the
  -data to Squid (unless it was already cached by Squid). The client never
  -sees the other ports and never knows that there might be more than one
  -server running. Do not confuse this scenario with <STRONG>mod_rewrite</STRONG>, 
where a server redirects the request somewhere according to the rewrite
  -rules and forgets all about it.
  +Previously we have had the <CODE>httpd_docs</CODE> and <CODE>httpd_perl</CODE> 
servers listening on ports 80 and 8080. Now we want squid to listen on port
  +80, to forward requests for static objects (plain HTML pages, images and so
  +on) to the port which the httpd_docs server listens to, and dynamic
  +requests to httpd_perl's port. And of course collecting the generated
  +responses, which will be delivered to the client by Squid. As mentioned
  +before this mode is known as <EM>httpd-accelerator</EM>
  +mode in proxy dialect.
  +
  +<P>
  +Therefore we have to reconfigure the httpd_docs server to listen to port 81
  +instead, since port 80 will be taken by Squid. Remember that in our
  +scenario both copies of Apache will reside on the same machine as Squid.
  +
  +<P>
  +A proxy server makes all the magic behind it transparent to users. Both
  +Apache servers return the data to Squid (unless it was already cached by
  +Squid). The client never sees the other ports and never knows that there
  +might be more than one server running. Do not confuse this scenario with 
<CODE>mod_rewrite</CODE>, where a server redirects the request somewhere according to 
the rewrite
  +rules and forgets all about it. (i.e. works as a one way dispatcher, which
  +dispatches the jobs but is not responsible fo
   
   <P>
   Squid can be used as a straightforward proxy server. ISPs and other
  @@ -1381,15 +1389,8 @@
   <STRONG>httpd accelerator mode</STRONG>'s related directives or you can just create 
one from scratch.
   
   <P>
  -Now that you have Squid listening to port 80, you have to move the
  -httpd_docs server to listen for example to port 81 (your mileage may vary
  -:). So you have to modify httpd_docs/conf/httpd.conf and restart the
  -httpd_docs server. But if you are working on a production server, do not do
  -this before we get Squid running!
  -
  -<P>
   Let's go through the changes we should make to the default configuration
  -file. Since this file (<EM>/etc/squid/squid.conf</EM>) is huge (about 60k+) and we 
will not alter 95% of its default settings,
  +file. Since the file with default settings (<EM>/etc/squid/squid.conf</EM>) is huge 
(about 60KB) and we will not alter 95% of its default settings,
   my suggestion is to write a new one including only the modified directives.
   
   <P>
  @@ -1403,7 +1404,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1424,7 +1425,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1442,7 +1443,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1461,7 +1462,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1473,18 +1474,17 @@
       </table>
       <P>
   <CODE>hierarchy_stoplist</CODE> defines a list of words which, if found in a URL, 
causes the object to be
  -handled directly by the cache. In other words, use this cache and do not
  -query neighboring caches for certain objects. Note that I have configured
  -the <EM>/cgi-bin</EM> and <EM>/perl</EM>
  -aliases for my dynamic documents, if you named them in a different way,
  -make sure you use the correct aliases here.
  +handled directly by the cache. Since we told Squid in the previous
  +directive that we aren't going to share the cache between neighboring
  +machines this directive is irrelevant. In case that you do use this
  +feature, make sure to set this directive to something like:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1495,14 +1495,17 @@
         </tr>
       </table>
       <P>
  -Now we tell squid not to cache dynamic pages.
  +where the <EM>/cgi-bin</EM> and <EM>/perl</EM> are aliases for the locations which 
handle the dynamic requests.
   
   <P>
  +Now we tell Squid not to cache dynamically generated pages.
   
  +<P>
  +
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1516,17 +1519,17 @@
       <P>
   Please note that the last two directives are controversial ones. If you
   want your scripts to be more compliant with the HTTP standards, according
  -to the HTTP specs the headers of your scripts should carry the <EM>Caching 
Directives</EM>: <CODE>Last-Modified</CODE> and <CODE>Expires</CODE>. What are they 
for? (*) If you set the headers correctly, there is no need
  -to tell the Squid accelerator <STRONG>NOT</STRONG> to try to cache anything. Squid 
will not bother your mod_perl servers a
  +to the HTTP specification the headers of your scripts should carry the <EM>Caching 
Directives</EM>: <CODE>Last-Modified</CODE> and <CODE>Expires</CODE>.
  +
  +<P>
  +What are they for? If you set the headers correctly, there is no need to
  +tell the Squid accelerator <STRONG>NOT</STRONG> to try to cache anything. Squid 
will not bother your mod_perl servers a
   second time if a request is (a) cachable and (b) still in the cache. Many
   mod_perl applications will produce identical results on identical requests
   if not much time has elapsed between the requests. So your Squid might have
   a hit ratio of 50%, which means that the mod_perl servers will have only
   half as much work to do as they did before you installed Squid (or
  -mod_proxy). But this is only possible if you set the headers correctly.
  -
  -<P>
  -For more information, refere to the chapter <A 
HREF="././correct_headers.html#">Correct Headers - A quick guide for mod_perl 
users</A>.
  +mod_proxy).
   
   <P>
   Even if you insert a user-ID and date in your page, caching can save
  @@ -1535,33 +1538,58 @@
   Squid could serve the second request.
   
   <P>
  +But this is only possible if you set the headers correctly. Refer to the
  +chapter <A HREF="././correct_headers.html#">Correct Headers - A quick guide for 
mod_perl users</A> to learn more about generating the proper caching headers under 
mod_perl.
  +In case where only the scripts under
  +<EM>/perl/caching-unfriendly</EM> are not <EM>caching friendly</EM> fix the above 
setting to be:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  acl QUERY urlpath_regex /cgi-bin /perl/caching-unfriendly
  +  no_cache deny QUERY</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
   But if you are lazy, or just have too many things to deal with, you can
  -leave the above directives the way I described. Just keep in mind that one
  -day you will want to reread this snippet and <A 
HREF="././correct_headers.html#">the headers generation tutorial</A> to squeeze even 
more power from your servers without investing money in
  +leave the above directives the way we described. Just keep in mind that one
  +day you will want to reread this section and <A 
HREF="././correct_headers.html#">the headers generation tutorial</A> to squeeze even 
more power from your servers without investing money in
   more memory and better hardware.
   
   <P>
   While testing you might want to enable the debugging options and watch the
  -log files in <EM>/var/log/squid/</EM>. But turn debugging off in your production 
server. Below I show it
  -commented out. The parameter 28 means access control routes.
  +log files in the directory <EM>/var/log/squid/</EM>. But make sure to turn 
debugging off in your production server. Below we
  +show it commented out, which makes it disabled, since it's disabled by
  +default. Debug option 28 enables the debugging of the access control
  +routes, for other debug codes see the documentation embedded in the default
  +configuration file that comes with squid.
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  -       <pre>  # debug_options ALL, 1, 28, 9</pre>
  +       <pre>  # debug_options 28</pre>
           </td>
            
         </tr>
       </table>
       <P>
  -We need to provide a way for squid to dispatch requests to the correct
  +We need to provide a way for Squid to dispatch requests to the correct
   servers. Static object requests should be redirected to httpd_docs unless
   they are already cached, while requests for dynamic documents should go to
   the httpd_perl server. The configuration below tells Squid to fire off 10
  @@ -1574,7 +1602,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1596,7 +1624,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1607,7 +1635,7 @@
         </tr>
       </table>
       <P>
  -Then we have access permissions, which I will not explain. You might want
  +Then we have access permissions, which we will not explain. You might want
   to read the documentation, so as to avoid any security problems.
   
   <P>
  @@ -1615,7 +1643,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1640,14 +1668,14 @@
       </table>
       <P>
   Since Squid should be run as a non-root user, you need these if you are
  -invoking the Squid as root.
  +invoking the Squid as root. The user <EM>squid</EM> is created when the Squid 
server is installed.
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1668,7 +1696,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1679,15 +1707,15 @@
         </tr>
       </table>
       <P>
  -Keep pools of allocated (but unused) memory available for future use. Read
  -more about it in the Squid documents.
  +We want to keep pools of allocated (but unused) memory available for future
  +use if we have the memory available of course. Otherwise turn it off.
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1704,14 +1732,32 @@
   
       <table>
         <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  cachemgr_passwd disable shutdown</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +If you are not using this script to manage the Squid server from remote,
  +you should disable it:
  +
  +<P>
  +
  +    <table>
  +      <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  -       <pre>  cachemgr_passwd disable shutdown
  -  #cachemgr_passwd none all</pre>
  +       <pre>  cachemgr_passwd disable all</pre>
           </td>
            
         </tr>
  @@ -1726,7 +1772,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1750,7 +1796,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1787,13 +1833,14 @@
   flushed very frequently because it'll get full very fast.
   
   <P>
  -If you think that this is a very ineffective way to redirect, I'll try to
  -prove otherwise. The redirector runs as a daemon, it fires up N redirect
  -daemons, so there is no problem with Perl interpreter loading. Exactly as
  -with mod_perl, perl is loaded all the time and the code has already been
  -compiled, so the redirect is very fast (not much slower than if the
  -redirector was written in C). Squid keeps an open pipe to each redirect
  -daemon, thus there is not even the overhead of the system calls.
  +If you think that this is a very ineffective way to redirect, you should
  +consider the following explanation. The redirector runs as a daemon, it
  +fires up N redirect daemons, so there is no problem with Perl interpreter
  +loading. Exactly as with mod_perl, the perl interpreter is loaded all the
  +time in memory and the code has already been compiled, so the redirect is
  +very fast (not much slower than if the redirector was written in C). Squid
  +keeps an open pipe to each redirect daemon, thus there is no overhead of
  +the system calls.
   
   <P>
   Now it is time to restart the server, at linux I do it with:
  @@ -1803,7 +1850,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1814,7 +1861,7 @@
         </tr>
       </table>
       <P>
  -Now the setup is complete ...
  +Now the Squid server setup is complete.
   
   <P>
   Almost... When you try the new setup, you will be surprised and upset to
  @@ -1827,14 +1874,14 @@
   The solution is to make both squid and httpd_docs listen to the same port.
   This can be accomplished by binding each one to a specific interface (so
   they are listening to different <STRONG>sockets</STRONG>). Modify
  -<CODE>httpd.conf</CODE> in the <CODE>httpd_docs</CODE> configuration directory:
  +<EM>httpd_docs/conf/httpd.conf</EM>:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1847,6 +1894,12 @@
         </tr>
       </table>
       <P>
  +Now the httpd_docs server is listening only to requests coming from the
  +local server. You cannot access it directly from the outside. Squid becomes
  +a gateway that all the packets go through on the way to the httpd_docs
  +server.
  +
  +<P>
   Modify <EM>squid.conf</EM>:
   
   <P>
  @@ -1854,13 +1907,13 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
          <pre>  http_port 80
  -  tcp_incoming_address 123.123.123.3
  +  tcp_incoming_address 123.123.123.123
     tcp_outgoing_address 127.0.0.1
     httpd_accel_host 127.0.0.1
     httpd_accel_port 80</pre>
  @@ -1869,19 +1922,19 @@
         </tr>
       </table>
       <P>
  -Where <CODE>123.123.123.3</CODE> should be replaced with the IP address of your 
main server. Now restart
  -squid and httpd_docs (it doesn't matter which one you start first), and
  -voila--the port number has gone.
  +Where <CODE>123.123.123.123</CODE> should be replaced with the IP address of your 
main server. Now restart the
  +Squid and httpd_docs servers (it doesn't matter which one you start first),
  +and voila--the port number has gone.
   
   <P>
  -You must also have in the <EM>/etc/hosts</EM> an entry (chances are that it's 
already there):
  +You must also have in the file <EM>/etc/hosts</EM> the following entry (chances are 
that it's already there):
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1896,33 +1949,12 @@
   references, using 8080 or the other port, you should fix them to generate
   links to point to port 80 (which means not using the port at all in the
   URI). If you do not do this, users will bypass Squid and will make direct
  -requests to the mod_perl server's port.
  -
  -<P>
  -The only question left is what to do with users who bookmarked your
  -services and who still have port 8080 inside their bookmark URLs. Do not
  -worry about it. The most important thing is for your scripts to return full
  -URLs, so if the user comes from the link with 8080 port inside, let it be.
  -Just make sure that all the subsequent calls to your server will be
  -rewritten correctly. After a time users will change their bookmarks. You
  -can send them an email if you know the address, or you could leave a note
  -on your pages asking users to update their bookmarks. You will avoid this
  -problem if you do not publish non-80 ports in the first place. See <A 
HREF="././config.html#Publishing_Port_Numbers_other_th">Publishing Port Numbers other 
than 80</A>.
  -
  -<P>
  -&lt;META&gt; Need to write up a section about server logging with squid.
  -One thing I sure would like to know is how requests are logged with this
  -setup. I have, as most everyone I imagine, log rotation, analysis,
  -archiving scripts and they all assume a single log. &lt;METAMETA&gt; So
  -what now with Apache TransferLog/ErrorLog/Refererlog? &lt;/METAMETA&gt;
  -Does one have different logs that have to be merged (up to 3 for each
  -server + squid) ? Even when squid responds to a request out of its cache
  -I'd still want the thing to be logged. &lt;/META&gt;
  +requests to the mod_perl server's port. As we will see later just like with
  +httpd_docs, the httpd_perl server can be configured to listen only to
  +requests coming from the localhost (with Squid forwarding these requests
  +from the outside) and therefore users will not be able to bypass Squid.
   
   <P>
  -See <A HREF="././scenario.html#mod_proxy">Using mod_proxy</A> for information about 
<CODE>X-Forwarded-For</CODE>.
  -
  -<P>
   To save you some keystrokes, here is the whole modified <CODE>squid.conf</CODE>:
   
   <P>
  @@ -1930,24 +1962,23 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
          <pre>  http_port 80
  -  tcp_incoming_address 123.123.123.3
  +  tcp_incoming_address 123.123.123.123
     tcp_outgoing_address 127.0.0.1
     httpd_accel_host 127.0.0.1
     httpd_accel_port 80
     
     icp_port 0
     
  -  hierarchy_stoplist /cgi-bin /perl
     acl QUERY urlpath_regex /cgi-bin /perl
     no_cache deny QUERY
     
  -  # debug_options ALL,1 28,9
  +  # debug_options 28
     
     redirect_program /usr/lib/squid/redirect.pl
     redirect_children 10
  @@ -2013,32 +2044,30 @@
   significant in some installations.
   
   <P>
  -So I have decided to have even more administration overhead and to stick
  -with the squid, httpd_docs and httpd_perl scenario, where I can optimize
  -and fine tune everything. Of course this may not be your situation. If you
  -feel that the scenario from the previous section is too complicated for
  -you, make it simpler. Have only one server with mod_perl built in and let
  -Squid to do most of the job that plain light apache used to do. As I have
  -explained in the previous paragraph, you should pick this lighter setup
  -only if you can make Squid cache most of your static objects. If it cannot,
  -your mod_perl server will have to do work we do not want it to do.
  +So on for production servers I have decided to to stick with the Squid,
  +httpd_docs and httpd_perl scenario, where I can optimize and fine tune
  +everything. But if in your case there is almost no static objects to serve,
  +the httpd_docs server is definitely redundant. And all you need are the
  +mod_perl server and Squid to buffer the output from it.
   
   <P>
  -If you are still with me, install Apache with mod_perl and Squid. Then use
  -a configuration similar to the previous section, but now httpd_docs is not
  -there anymore. Also we do not need the redirector anymore and we specify 
<CODE>httpd_accel_host</CODE> as a name of the server and not <CODE>virtual</CODE>. 
Because we do not redirect there is no need to bind two servers on the
  -same port so there are neither <CODE>Bind</CODE> nor
  -<CODE>Listen</CODE> directives in <CODE>httpd.conf</CODE>.
  +If you want to proceed with this setup, install mod_perl enabled Apache and
  +Squid. Then use a configuration similar to the previous section, but now
  +httpd_docs is not there anymore. Also we do not need the redirector anymore
  +and we specify <CODE>httpd_accel_host</CODE> as a name of the server and not 
<CODE>virtual</CODE>. Because we do not redirect there is no need to bind two servers 
on the
  +same port so there are neither <CODE>Bind</CODE>
  +nor <CODE>Listen</CODE> directives in <EM>httpd.conf</EM>.
   
   <P>
  -The modified configuration (see the explanations in the previous section):
  +The modified configuration for this simlified setup (see the explanations
  +in the previous section):
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2048,11 +2077,10 @@
     http_port 80
     icp_port 0
     
  -  hierarchy_stoplist /cgi-bin /perl
     acl QUERY urlpath_regex /cgi-bin /perl
     no_cache deny QUERY
     
  -  # debug_options ALL, 1, 28, 9
  +  # debug_options 28
     
     # redirect_program /usr/lib/squid/redirect.pl
     # redirect_children 10
  @@ -2090,338 +2118,6 @@
       <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H1><A NAME="One_Light_and_One_Heavy_Server_w">One Light and One Heavy 
Server where All HTML is Perl-generated</A></H1></CENTER>
  -<P>
  -META: a lot of info duplication in tricks section! remove/modify/merge it.
  -
  -<P>
  -Instead of keeping all your Perl scripts in <EM>/perl</EM> and your static content 
everywhere else, you could keep your static content
  -in special directories and keep your Perl scripts everywhere else. You can
  -still use the light/heavy apache separation approach described above, with
  -a few minor modifications.
  -
  -<P>
  -[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  -<HR>
  -<CENTER><H2><A NAME="Installation_and_Configuration">Installation and 
Configuration</A></H2></CENTER>
  -<P>
  -First you need to compile your light Apache with mod_proxy and mod_rewrite:
  -
  -<P>
  -
  -    <table>
  -      <tr>
  -
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  -
  -     <td>
  -       <pre>  % ./configure --prefix=[snip...] --enable-module=rewrite \
  -                                   --enable-module=proxy</pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  -In the <EM>light</EM> Apache's <CODE>httpd.conf</CODE> file, turn rewriting on:
  -
  -<P>
  -
  -    <table>
  -      <tr>
  -
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  -
  -     <td>
  -       <pre>  RewriteEngine on</pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  -and list the static directories something like this:
  -
  -<P>
  -
  -    <table>
  -      <tr>
  -
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  -
  -     <td>
  -       <pre>  RewriteRule ^/img - [L]
  -  RewriteRule ^/style - [L]</pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  -The <CODE>[L]</CODE> means that the rewrite engine should stop if it has a match. 
This is
  -necessary because the very last rewrite rule proxies everything to the 
<EM>heavy</EM> server:
  -
  -<P>
  -
  -    <table>
  -      <tr>
  -
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  -
  -     <td>
  -       <pre>  RewriteRule ^/(.*) <A 
HREF="http://www.example.com:8080/">http://www.example.com:8080/</A>$1 [P]</pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  -This line (<STRONG>which must be the last <CODE>RewriteRule</CODE></STRONG>) is the 
difference between a server for which static content is the
  -default and one for which dynamic (perlish) content is the default.
  -
  -<P>
  -The above <CODE>RewriteRule</CODE> assumes that the heavy server runs on the same 
machine as the light server.
  -You can just insert a different URL if the heavy Apache is elsewhere, but
  -keeping the two servers on the one machine and treating them as one has
  -some advantages, as you will see later.
  -
  -<P>
  -You should also add the <EM>reverse rewrite rule</EM>:
  -
  -<P>
  -
  -    <table>
  -      <tr>
  -
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  -
  -     <td>
  -       <pre>  ProxyPassReverse / <A 
HREF="http://www.example.com/">http://www.example.com/</A></pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  -so that the user doesn't see the port number <CODE>:8080</CODE> in her browser's 
location window.
  -
  -<P>
  -Of course <CODE>www.example.com</CODE> should be replaced with your own domain name.
  -
  -<P>
  -It is possible to use <CODE>localhost</CODE> in the <CODE>RewriteRule</CODE> above 
if the heavy and light servers are on the same machine, but your
  -heavy server might accidentally say <CODE>localhost</CODE> in a client redirect 
(see below) which would not be good. Also, if your
  -heavy server understands virtual hosts, you probably don't want to use the
  -name <CODE>localhost</CODE>.
  -
  -<P>
  -[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  -<HR>
  -<CENTER><H2><A NAME="Tricks_Traps_and_Gotchas">Tricks, Traps and 
Gotchas</A></H2></CENTER>
  -<UL>
  -<P><LI><STRONG><A NAME="item__Closing_your_shutters_temporar">'Closing your 
shutters' temporarily</A></STRONG>
  -<P>
  -Very occasionally, your mod_perl server will suffer glitches. Perhaps you
  -changed a module and restarted your mod_perl httpd when a <CODE>perl
  --cw</CODE> would have given you some very interesting information! Since all your 
html
  -is dynamically generated, suddenly nobody can view any pages on your site.
  -Disaster!! Worse, your users are getting cryptic
  -<STRONG>Unable to contact upstream server</STRONG> error messages on a grey 
background, not the nice customised error messages
  -you generate with Perl.
  -
  -<P>
  -If you insert a line into the light Apache's <CODE>httpd.conf</CODE> file:
  -
  -<P>
  -
  -    <table>
  -      <tr>
  -
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  -
  -     <td>
  -       <pre>  RewriteRule ^/(.*) /sorry.html [L]</pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  -<EM>after</EM> the list of static directories but <EM>before</EM> the rule that 
proxies everything else to the heavy apache, your users now
  -get a (relatively) nice `Sorry for the inconvenience' message instead of
  -the cryptic message described above. What's more, because this
  -<EM>sorry.html</EM>  <CODE>RewriteRule</CODE> is listed <EM>after</EM> the image 
directory, you can refer to your images in it. Now all you have
  -to do is figure out how to fix the module you broke.
  -
  -<P>
  -Of course you need to prepare the file <EM>sorry.html</EM> in advance of all this. 
When you alter the configuration you will have to
  -restart the light server for the changes to take effect, and when you have
  -fixed all the errors in the mod_perl server you must remove the change and
  -restart the light server again too.
  -
  -<P>
  -This situation is easy to prevent. See <A 
HREF="././control.html#Safe_Code_Updates_on_a_Live_Prod">Safe Code Updates on a Live 
Production Server</A> for more info.
  -
  -<P><LI><STRONG><A NAME="item_Logging">Logging</A></STRONG>
  -<P>
  -There are a number of different ways to maintain logs of your hits. The
  -easiest way is to let both Apaches log to their own <EM>access_log</EM>
  -files. Unfortunately, this means that many requests will be logged twice,
  -which makes it tricky to merge the two logfiles, should you want to. Also,
  -as far as the heavy Apache is concerned, all requests will appear to come
  -from the IP address of the machine on which the light apache is running. If
  -you are logging IP addresses as part of your <CODE>access_log</CODE> the logs 
written by the heavy Apache will be fairly meaningless.
  -
  -<P>
  -One solution is to tell the heavy Apache not to bother logging requests
  -that seem to come from the light Apache's machine. You might do this by
  -installing a custom <CODE>PerlLogHandler</CODE> or just piping to
  -<CODE>access_log</CODE> via <CODE>grep -v</CODE> (match all but this pattern) for 
the light Apache machine's IP address. In
  -this scenario, the
  -<CODE>access_log</CODE> written by the light Apache is <EM>the more important</EM>
  -
  -<CODE>access_log</CODE>, but you need to look for any direct accesses to the heavy 
server in case
  -the proxy server is sometimes bypassed.
  -
  -<P>
  -Note that you don't want to pipe the <CODE>access_log</CODE> from the heavy Apache 
to <EM>/dev/null</EM>. If you do this, you won't be able to see any requests that 
bypass the
  -lightweight Apache and come straight in on the port to which the heavy
  -server is listening. Every time you see one of these requests you should
  -ask yourself <EM>Why?</EM> and take steps to eliminate it.
  -
  -<P>
  -It's easy to get the logger to log the original client's IP address and not
  -the one that comes from the proxy server. Look for
  -<CODE>mod_proxy_add_forward</CODE> at <A 
HREF="././scenario.html#mod_proxy">Building and Using mod_proxy</A> for hints.
  -
  -<P><LI><STRONG><A NAME="item_Eliminating">Eliminating :8080's</A></STRONG>
  -<P>
  -By 8080 we mean the port your mod_perl enabled Apache is listening to.
  -Substitute whatever port you have chosen.
  -
  -<P>
  -There are a number of ways in which the user can somehow be directed to
  -URLs which have <CODE>:8080</CODE> in them. If you are running the heavy Apache on 
a different machine from
  -that of the light Apache, then provided that the heavy Apache has the same 
<CODE>ServerName</CODE> as the light Apache this will be less of a problem, but this 
section may
  -still apply to you.
  -
  -<P>
  -If the user requests a URL that maps to a directory without a trailing
  -slash (<EM>/</EM>), apache will issue a client redirect (301?) to the
  -<EM>correct</EM> URL. Unfortunately the Apache that will issue this redirect will 
most
  -likely be the heavy Apache, since most distinct requests are answered by
  -it. It will issue the redirect to its own port on its own
  -<CODE>ServerName</CODE>, and because the redirect is a so-called 
<STRONG>client</STRONG>
  -redirect the URL (with the :8080 on the end) will be in the body, not the
  -header, of the data returned to the user's browser. This means that the 
<CODE>ProxyPassReverse</CODE> in the light Apache's configuration file which is 
supposed to catch such
  -things will be unable to catch this. :-(
  -
  -<P>
  -Since this will tend only to be a problem when the heavy and light Apaches
  -are running on different ports on the same machine, if the light and heavy
  -Apaches have the same <CODE>DocumentRoot</CODE> we can have the
  -<EM>light</EM> Apache figure out that a request is for a directory without a 
trailing
  -slash. Then it can do the redirect itself, before the heavy Apache finds
  -out about it:
  -
  -<P>
  -
  -    <table>
  -      <tr>
  -
  -     <td bgcolor="blue" width="1">
  -       &nbsp;
  -        </td>
  -
  -     <td>
  -       <pre>    RewriteCond /www/shop%{SCRIPT_FILENAME} -d
  -    RewriteRule ^(.+[^/])$ $1/ [R]   </pre>
  -        </td>
  -         
  -      </tr>
  -    </table>
  -    <P>
  -Note that these two lines should be <EM>after</EM> the <CODE>RewriteRule</CODE>s 
for the static directories but <EM>before</EM> the final all-encompassing
  -<CODE>RewriteRule</CODE> that proxies everything else to the heavy Apache.
  -
  -<P>
  -Beware: if you put these two lines in the light <EM>httpd.conf</EM> before the 
static directories are mentioned, then in this setup the light
  -httpd may find itself in an infinite loop if somebody were to request for
  -example <EM>&lt;/img&gt;</EM>.
  -
  -<P>
  -Another way in which <CODE>:8080</CODE>'s can creep into URLs is if you have Perl 
code which issues a redirect to <CODE>http://$ENV{HTTP_HOST}/...</CODE>. If you are 
migrating from one heavy server to one heavy and one light,
  -you may find a few of these. If you replace <CODE>HTTP_HOST</CODE> with
  -<CODE>SERVER_NAME</CODE>, all should be well. Note that you may need to do this 
whether or not the
  -light and heavy servers are on the same machine.
  -
  -<P>
  -The <CODE>:8080</CODE> effect can be insidious. Once a user gets a URL with
  -<CODE>:8080</CODE> in it, odd things will happen. If the heavy and light Apaches 
have the same <CODE>DocumentRoot</CODE> (normal if they are on the same machine) 
and/or the heavy Apache is able to
  -deliver the same static content as the light Apache, the user's browser
  -will display <CODE>:8080</CODE>
  -in the location box for every subsequent URL on your site until they follow
  -an absolute link (e.g. <A
  -HREF="http://www.example.com/file/stuff">http://www.example.com/file/stuff</A>
  -as opposed to just <EM>/file/stuff</EM>). At least if the heavy Apache can serve 
images, your site will still look
  -normal. If the request is in a password-protected area, then the user may
  -have to log in twice.
  -
  -<P>
  -If the heavy and light Apaches do not share the same <CODE>DocumentRoot</CODE>
  -(normal if they are on different servers) and/or the heavy Apache cannot
  -serve images, then all your pages will be imageless. This is a fairly
  -compelling reason to run your light and heavy servers on the same machine
  -and to have them share the same <CODE>DocumentRoot</CODE>.
  -
  -<P>
  -Regardless of how hard you try to eliminate <CODE>:8080</CODE>s, they will crop up 
from time to time. You should occasionally examine the
  -access_log of the heavy Apache. Assuming you aren't bothering to log
  -requests that come via the light Apache, any requests that appear should be
  -investigated.
  -
  -<P>
  -Interestingly, if the final catch-all <CODE>RedirectRule</CODE> is to
  -<CODE>localhost:8080</CODE>, it is possible that <CODE>localhost</CODE> will leak 
into stray client redirects. Moral: use your server's name in
  -redirects, unless you have a very good reason not to.
  -
  -<P><LI><STRONG><A NAME="item_Security">Security</A></STRONG>
  -<P>
  -Because all http requests will appear to your Perl scripts to be coming
  -from the light httpd, you must be careful not to authenticate based on the
  -IP address from which a request came. This can be easy to overlook if you
  -are moving from a single-server to a dual-server configuration.
  -
  -<P>
  -The URLs that return the <EM>/server-status</EM> and <EM>/perl-status</EM> of your 
Apache servers are often protected based on IP address. The
  -<EM>/server-status</EM> URL for the heavy server is probably safe if the light 
Apache also defines
  -an identical <EM>/server-status</EM> URL, but the
  -<EM>/perl-status</EM> URL should be protected.
  -
  -<P>
  -If you must authenticate based on IP address, you should either make sure
  -that the light Apache's IP address is not in any way privileged or you
  -should block access to port <CODE>8080</CODE> from anywhere except the light 
Apache's IP address.
  -
  -<P>
  -If your heavy and light httpds can both serve static content (where
  -<CODE>:8080</CODE>s only affect URLs - not content), then blocking port 
<CODE>8080</CODE>
  -is not recommended. After all, if a user gets onto port <CODE>8080</CODE> in this 
scenario, the worst that will happen is that URLs will look odd.
  -
  -<P>
  -Note that if you are using the
  -<A HREF="././scenario.html#mod_proxy"><CODE>X-Forwarded-For</CODE></A> HTTP header, 
then this subsection is of limited relevance to you.
  -
  -</UL>
  -<P>
  -[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  -<HR>
   <CENTER><H1><A NAME="mod_proxy">mod_proxy</A></H1></CENTER>
   <P>
   mod_proxy implements a proxy/cache for Apache. It implements proxying
  @@ -2439,7 +2135,9 @@
   different servers, they may or may not coexist on the same machine.
   
   <P>
  -The mod_proxy module is built into the server that answers requests to the 
<EM>www.example.com</EM> hostname. It doesn't matter what functionality is built into 
the <EM>backend.example.com</EM> server.
  +The mod_proxy module is built into the server that answers requests to the 
<EM>www.example.com</EM> hostname. For the matter of this discussion it doesn't matter 
what
  +functionality is built into the
  +<EM>backend.example.com</EM> server, obviously it'll be mod_perl for most of us.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -2458,7 +2156,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2507,7 +2205,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2538,7 +2236,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2565,7 +2263,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2588,7 +2286,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2634,7 +2332,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2663,7 +2361,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2674,24 +2372,24 @@
         </tr>
       </table>
       <P>
  -will create a buffer of 16k in size. If mod_perl generates output which is
  -less than 16k, the process will be immediately untied and allowed to serve
  -new requests, if the output is bigger than 16k, the following process will
  +will create a buffer of 16KB in size. If mod_perl generates output which is
  +less than 16KB, the process will be immediately untied and allowed to serve
  +new requests, if the output is bigger than 16KB, the following process will
   take place:
   
   <OL>
   <P><LI>
   <P>
  -The first 16k will enter the system buffer.
  +The first 16KB will enter the system buffer.
   
   <P><LI>
   <P>
  -mod_proxy picks the first 8k and sends it down the wire.
  +mod_proxy picks the first 8KB and sends it down the wire.
   
   <P><LI>
   <P>
  -mod_perl writes the next 8k into the place of the 8k of data that was just
  -sent off by mod_proxy.
  +mod_perl writes the next 8KB into the place of the 8KB of data that was
  +just sent off by mod_proxy.
   
   </OL>
   <P>
  @@ -2738,7 +2436,7 @@
   The problem I don't know is, does the call to close the socket wait, until
   all data is actually send successfully or not. If it doesn't wait, you may
   not be noticed of any failure, but because the proxing Apache can write as
  -fast to the socket transmission buffer as he can read, it should be
  +fast to the socket transmission buffer as it can read, it should be
   possible that the proxing Apache copies all the data from the receive to
   the transmission buffer and after that releasing the receive buffer, so the
   mod_perl Apache is free to do other things, while the proxing Apache still
  @@ -2764,7 +2462,7 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H3><A NAME="Setting_the_Buffering_Limits_on_">Setting the Buffering Limits 
on Various OSs</A></H3></CENTER>
  +<CENTER><H2><A NAME="Setting_the_Buffering_Limits_on_">Setting the Buffering Limits 
on Various OSs</A></H2></CENTER>
   <P>
   As we just saw there are a few kinds of parameters we might want to adjust
   for our needs.
  @@ -2772,9 +2470,9 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H4><A NAME="IOBUFSIZE_Source_Code_Definition">IOBUFSIZE Source Code 
Definition</A></H4></CENTER>
  +<CENTER><H3><A NAME="IOBUFSIZE_Source_Code_Definition">IOBUFSIZE Source Code 
Definition</A></H3></CENTER>
   <P>
  -The first parameter is used by <EM>proxy_util.c:ap_proxy_send_fb()</EM> to loop 
over content being proxy passed in 8K chunks (as of this writing),
  +The first parameter is used by <EM>proxy_util.c:ap_proxy_send_fb()</EM> to loop 
over content being proxy passed in 8KB chunks (as of this writing),
   passing that on to the client. In other words it specifies the size of the
   data that is sent down the wire.
   
  @@ -2786,7 +2484,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2804,7 +2502,7 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H4><A NAME="ProxyReceiveBufferSize_Configura">ProxyReceiveBufferSize 
Configuration Directive</A></H4></CENTER>
  +<CENTER><H3><A NAME="ProxyReceiveBufferSize_Configura">ProxyReceiveBufferSize 
Configuration Directive</A></H3></CENTER>
   <P>
   You can control the socket buffer size with the
   <CODE>ProxyReceiveBufferSize</CODE> directive:
  @@ -2814,7 +2512,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2825,7 +2523,7 @@
         </tr>
       </table>
       <P>
  -The above setting will set a buffer size of 16Kb. If it is not set
  +The above setting will set a buffer size of 16KB. If it is not set
   explicitly, or if it is set to 0, then the default buffer size is used. The
   number should be an integral multiple of 512.
   
  @@ -2842,14 +2540,14 @@
   For 2.2 kernels the maximum limit is in <EM>/proc/sys/net/core/rmem_max</EM>
   and the default value is in <EM>/proc/sys/net/core/rmem_default</EM>. If you want 
to increase <CODE>RCVBUF</CODE> size above 65535, the default maximum value, you have 
to raise first the
   absolute limit in
  -<EM>/proc/sys/net/core/rmem_max</EM>. To do that at the run time, execute this 
command to raise it to 128k:
  +<EM>/proc/sys/net/core/rmem_max</EM>. To do that at the run time, execute this 
command to raise it to 128KB:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2863,11 +2561,11 @@
   You probably want to put this command into <EM>/etc/rc.d/rc.local</EM> so the 
change will take effect at system reboot.
   
   <P>
  -On Linux OS with kernel 2.2.5 the maximum and default values are either 32k
  -or 64k. You can also change the default and maximum values during kernel
  -compilation; for that you should alter the
  -<CODE>SK_RMEM_DEFAULT</CODE> and <CODE>SK_RMEM_MAX</CODE> definitions respectively. 
(Since sources tend to change use
  -<CODE>grep(1)</CODE> utility to find the files, these defined at)
  +On Linux OS with kernel 2.2.5 the maximum and default values are either
  +32KB or 64KB. You can also change the default and maximum values during
  +kernel compilation; for that you should alter the
  +<CODE>SK_RMEM_DEFAULT</CODE> and <CODE>SK_RMEM_MAX</CODE> definitions respectively. 
(Since kernel source files tend to change, use
  +<CODE>grep(1)</CODE> utility to find the files.)
   
   <P><LI><STRONG><A NAME="item_FreeBSD">FreeBSD</A></STRONG>
   <P>
  @@ -2879,7 +2577,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2892,7 +2590,7 @@
       <P><LI><STRONG><A NAME="item_Solaris">Solaris</A></STRONG>
   <P>
   Under Solaris this upper limit is specified by <EM>tcp_max_buf</EM>
  -parameter and is 256k as reported.
  +parameter and is 256KB.
   
   <P><LI><STRONG><A NAME="item_Other">Other OSs</A></STRONG>
   <P>
  @@ -2902,16 +2600,16 @@
   </UL>
   <P>
   When you tell the kernel to use bigger sockets you can set bigger values
  -for <EM>ProxyReceiveBufferSize</EM>. e.g. 1Mb (1048576).
  +for <EM>ProxyReceiveBufferSize</EM>. e.g. 1048576 (1MB).
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H4><A NAME="Hacking_the_Code">Hacking the Code</A></H4></CENTER>
  +<CENTER><H3><A NAME="Hacking_the_Code">Hacking the Code</A></H3></CENTER>
   <P>
  -Some folks have patched the Apache source code to make the application
  -buffer configurable as well. After the patch there are two configuration
  -directives available:
  +Some folks have patched the Apache's 1.3.x source code to make the
  +application buffer configurable as well. After the patch there are two
  +configuration directives available:
   
   <UL>
   <P><LI>
  @@ -2932,7 +2630,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2953,7 +2651,7 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H2><A NAME="Caching">Caching</A></H2></CENTER>
  +<CENTER><H2><A NAME="Caching_Feature">Caching Feature</A></H2></CENTER>
   <P>
   META: complete the conf details
   
  @@ -2965,10 +2663,12 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H2><A NAME="Build_process">Build process</A></H2></CENTER>
  +<CENTER><H2><A NAME="Build_Process">Build Process</A></H2></CENTER>
   <P>
  -To build mod_proxy into Apache just add <STRONG>--enable-module=proxy</STRONG>
  -during the Apache <STRONG>./configure</STRONG> stage.
  +To build mod_proxy into Apache just add <EM>--enable-module=proxy</EM>
  +during the Apache <STRONG>./configure</STRONG> stage. Since you probably will need 
the mod_rewrite capability enable it as
  +well with
  +<EM>--enable-module=rewrite</EM>.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -2979,6 +2679,13 @@
   mod_perl servers when you need to use Virtual Hosts.
   
   <P>
  +The term <EM>Virtual Host</EM> refers to the practice of maintaining more than one 
server on one machine,
  +as differentiated by their apparent hostname. For example, it is often
  +desirable for companies sharing a web server to have their own domains,
  +with web servers accessible as
  +<EM>www.company1.com</EM> and <EM>www.company2.com</EM>, without requiring the user 
to know any extra path information.
  +
  +<P>
   The approach is to use a unique port number for each virtual host at the
   back-end server, so you can redirect from the front-end server to
   localhost:1234, and name-based virtual servers on the front end, though any
  @@ -2997,7 +2704,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3007,7 +2714,7 @@
       ServerAlias example.com
       RewriteEngine On
       RewriteOptions 'inherit'
  -    RewriteRule \.(gif|jpg|png|txt)$ - [last]
  +    RewriteRule \.(gif|jpg|png|txt|html)$ - [last]
       RewriteRule ^/(.*)$ <A 
HREF="http://localhost:4077/">http://localhost:4077/</A>$1 [proxy]
     &lt;/VirtualHost&gt;</pre>
           </td>
  @@ -3019,7 +2726,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3028,7 +2735,7 @@
       ServerName foo.example.com
       RewriteEngine On
       RewriteOptions 'inherit'
  -    RewriteRule \.(gif|jpg|png|txt)$ - [last]
  +    RewriteRule \.(gif|jpg|png|txt|html)$ - [last]
       RewriteRule ^/(.*)$ <A 
HREF="http://localhost:4078/">http://localhost:4078/</A>$1 [proxy]
     &lt;/VirtualHost&gt;</pre>
           </td>
  @@ -3041,20 +2748,20 @@
   
   <P>
   The front-end server will handle files with the extensions <EM>.gif</EM>,
  -<EM>.jpg</EM>, <EM>.png</EM> and <EM>.txt</EM> internally, the rest will be proxied 
to be handled by the back-end server.
  +<EM>.jpg</EM>, <EM>.png</EM>, <EM>.txt</EM> and <EM>.html</EM> internally, the rest 
will be proxied to be handled by the back-end server.
   
   <P>
   The only difference between the two virtual hosts settings is that the
   former rewrites requests to port <CODE>4077</CODE> at the back-end machine and the 
latter to port <CODE>4078</CODE>.
   
   <P>
  -If your server is configured to run traditional CGI scripts (mod_cgi) as
  -well as mod_perl CGI programs, then it would be beneficial to configure the
  -front-end server to run the traditional CGI scripts directly. This can be
  -done by altering the <CODE>gif|jpg|png|txt</CODE>
  +If your server is configured to run traditional CGI scripts (under mod_cgi)
  +as well as mod_perl CGI programs, then it would be beneficial to configure
  +the front-end server to run the traditional CGI scripts directly. This can
  +be done by altering the <CODE>gif|jpg|png|txt</CODE>
   
  -<EM>Rewrite</EM> rule to add <CODE>|cgi</CODE> at the end, or adding a new rule to 
handle all <CODE>/cgi-bin/*</CODE> locations locally. Similarly, static HTML pages can 
be served by the
  -front-end server by adding <CODE>|html</CODE> to the rule.
  +<EM>Rewrite</EM> rule to add <CODE>|cgi</CODE> at the end if all your mod_cgi 
scripts have the <EM>.cgi</EM> extension, or adding a new rule to handle all
  +<CODE>/cgi-bin/*</CODE> locations locally.
   
   <P>
   The back-end (heavy) server configuration:
  @@ -3064,7 +2771,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3114,7 +2821,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3160,7 +2867,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3180,47 +2887,50 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H2><A NAME="Use">Use</A></H2></CENTER>
  +<CENTER><H2><A NAME="Usage">Usage</A></H2></CENTER>
   <P>
  -If you are using <CODE>Apache::{Registry,PerlRun}</CODE> just put something like 
the following into <EM>startup.pl</EM>:
  +If you are using <CODE>Apache::Registry</CODE> or <CODE>Apache::PerlRun</CODE> 
modules just put the following code into <EM>startup.pl</EM>:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  -       <pre>  sub My::ProxyRemoteAddr ($) {
  +       <pre>  use Apache::Constants ();
  +  sub My::ProxyRemoteAddr ($) {
       my $r = shift;
      
       # we'll only look at the X-Forwarded-For header if the requests
       # comes from our proxy at localhost
  -    return OK unless ($r-&gt;connection-&gt;remote_ip eq &quot;127.0.0.1&quot;);
  +    return Apache::Constants::OK 
  +        unless ($r-&gt;connection-&gt;remote_ip eq &quot;127.0.0.1&quot;) 
  +            and $r-&gt;header_in('X-Forwarded-For');
     
       # Select last value in the chain -- original client's ip
       if (my ($ip) = $r-&gt;headers_in-&gt;{'X-Forwarded-For'} =~ /([^,\s]+)$/) {
         $r-&gt;connection-&gt;remote_ip($ip);
       }
           
  -    return OK;
  +    return Apache::Constants::OK;
     }</pre>
           </td>
            
         </tr>
       </table>
       <P>
  -And in <CODE>httpd.conf</CODE>:
  +And in the mod_perl's <EM>httpd.conf</EM>:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3231,7 +2941,9 @@
         </tr>
       </table>
       <P>
  -Otherwise you retrieve it directly in your code.
  +and the right thing will happen transparently for your scripts. Otherwise
  +if you write your own mod_perl content handler, you can retrieve it
  +directly in your code using a similar code.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -3253,7 +2965,7 @@
   
   <P>
   From that point on, the remote IP address is correct. You should be able to
  -access <CODE>REMOTE_ADDR</CODE> as usual.
  +access <CODE>$ENV{REMOTE_ADDR}</CODE> environment variable as usual.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -3261,14 +2973,10 @@
   <CENTER><H2><A NAME="Caveats">Caveats</A></H2></CENTER>
   <P>
   It was reported that Ben Laurie's Apache-SSL does not seem to put the IP
  -addresses in the <CODE>X-Forwarded-For</CODE> header--it does not set up such a 
header at all. However, the <CODE>REMOTE_ADDR</CODE> it sets up contains the IP 
address of the original client machine.
  +addresses in the <CODE>X-Forwarded-For</CODE> header--it does not set up such a 
header at all. However, the <CODE>$ENV{REMOTE_ADDR}</CODE> environment variable it 
sets up contains the IP address of the original
  +client machine.
   
   <P>
  -You could do the same thing with other environment variables, although I
  -think several of them are preserved. You should run some tests or, maybe
  -better, inspect the code to see which.
  -
  -<P>
   Prior to mod_perl 1.22 there was a need to repeat the
   PerlPostReadRequestHandler&nbsp;My::ProxyRemoteAddr directive for each virtual 
host, since it wasn't inherited by the virtual
   hosts.
  @@ -3280,24 +2988,23 @@
   <P>
   Some users report that they cannot get this module to work as advertised.
   They verify that the module is built in, but the front-end server is not
  -generating the X-Forwarded-For header when requests are being proxied to
  -the back-end server. As a result, the back-end server has no idea what the
  -remote IP is.
  +generating the <CODE>X-Forwarded-For</CODE> header when requests are being proxied 
to the back-end server. As a result,
  +the back-end server has no idea what the remote IP is.
   
   <P>
   As it turns out, <EM>mod_proxy_add_forward</EM> needs to be configured in Apache 
before <EM>mod_proxy</EM> in order to operate properly, since Apache gives highest 
precedence to the
   last defined module.
   
   <P>
  -Moving the two build options required to enable mod_proxy_add_forward while
  -compiling Apache build appears to have no effect on the default
  -configuration order of modules, since in each case, the builds show
  -mod_proxy_add_forward last in the list (or first via <EM>/server-info</EM>).
  +Moving the two build options required to enable
  +<EM>mod_proxy_add_forward</EM> while configuring Apache appears to have no effect 
on the default
  +configuration order of modules, since in each case, the resulting builds
  +show <EM>mod_proxy_add_forward</EM> last in the list (or first via 
<EM>/server-info</EM>).
   
   <P>
  -The solution is to explicitly define the configuration order in the
  -<EM>http.conf</EM> file, so that mod_proxy_add_forward appears before mod_proxy, 
and therefore
  -gets executed after mod_proxy. (Modules are being executed in <EM>reverse</EM> 
order, i.e. module that was <EM>Added</EM>
  +One solution is to explicitly define the configuration order in the
  +<EM>http.conf</EM> file, so that <EM>mod_proxy_add_forward</EM> appears before
  +<EM>mod_proxy</EM>, and therefore gets executed after <EM>mod_proxy</EM>. (Modules 
are being executed in <EM>reverse</EM> order, i.e. module that was <EM>Added</EM>
   first will be executed last.)
   
   <P>
  @@ -3311,7 +3018,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3328,11 +3035,62 @@
         </tr>
       </table>
       <P>
  -Note that the above snippet is added to <EM>httpd.conf</EM>.
  +Note that the above snippet is added to <EM>httpd.conf</EM> of the front-end server.
  +
  +<P>
  +Another solution is to reorder the module list during configuration by
  +using one or more <CODE>--permute-module</CODE> arguments to the 
<EM>./configure</EM>
  +utility. (Try <CODE>./configure --help</CODE> to see if your version of Apache 
supports this option.)  <CODE>--permute-module=foo:bar</CODE> will swap the position 
of <EM>mod_foo</EM> and <EM>mod_bar</EM> in the list,
  +<CODE>--permute-module=BEGIN:foo</CODE> will move <EM>mod_foo</EM> to the beginning 
of the list, and <CODE>--permute-module=foo:END</CODE> will move <EM>mod_foo</EM> to 
the end. For example suppose your module list from <CODE>httpd -l</CODE> looks like:
   
   <P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  http_core.c
  +  [more modules snipped]
  +  mod_proxy.c
  +  mod_setenvif.c
  +  mod_proxy_add_forward.c</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +You might add the following arguments to <EM>./configure</EM> to move
  +<EM>mod_proxy_add_forward</EM> to the position in the list just before
  +<EM>mod_proxy</EM>:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  ./configure \
  +  &quot;--with-layout=Apache&quot; \
  +  &quot;--activate-module=src/modules/extra/mod_proxy_add_forward.c&quot; \
  +  &quot;--enable-module=proxy_add_forward&quot; \
  +  ... other options ...
  +  &quot;--permute-module=proxy:proxy_add_forward&quot; \
  +  &quot;--permute-module=setenvif:END&quot;</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
   With this change, the <CODE>X-Forwarded-For</CODE> header is now being sent to the 
back-end server, and the remote IP appears
  -in the back-end server's access log.
  +in the back-end server's <EM>access_log</EM> file.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -3347,14 +3105,16 @@
   nothing but pass through the information.
   
   <P>
  -In the configuration file your <CODE>Auth</CODE> stuff needs to be inside
  -<CODE>&lt;Directory ...&gt;</CODE> ... <CODE>&lt;/Directory&gt;</CODE> sections 
because if you use a <CODE>&lt;Location ...&gt;</CODE>
  -... <CODE>&lt;/Location&gt;</CODE> section the proxy server will take the 
authentication information for
  -itself and not pass it on.
  +In the configuration file your <CODE>Auth</CODE> configuration directives need to 
be inside the <CODE>&lt;Directory ...&gt;</CODE>
  +... <CODE>&lt;/Directory&gt;</CODE> sections because if you use the section
  +<CODE>&lt;Location ...&gt;</CODE> ... <CODE>&lt;/Location&gt;</CODE> the proxy 
server will take the authentication information for itself and
  +not pass it on.
   
   <P>
  -The same applies to mod_ssl, if plugged into a front-end server. It will
  -properly encode/decode all the SSL requests.
  +The same applies to mod_ssl and similar Apache SSL modules. If it gets
  +plugged into a front-end server, it will properly encode/decode all the SSL
  +requests. So if your machine is secured from inside, your back-end server
  +can do secure transactions.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -3363,16 +3123,22 @@
   <P>
   In the mod_proxy + mod_perl servers scenario, <CODE>ProxyPass</CODE> was used to 
redirect all requests to the mod_perl server, by matching the
   beginning of the relative URI (e.g. <EM>/perl</EM>). What should you do if you want 
everything, but files with extensions
  -like <EM>.gif</EM> or
  -<EM>.cgi</EM>, to be proxypassed to the mod_perl server. These files are to to be 
served
  -by the light Apache server which carries the mod_proxy module.
  +like <EM>.gif</EM>, <EM>.cgi</EM>
  +and similar, to be proxypassed to the mod_perl server. These files are to
  +to be served by the light Apache server which carries the mod_proxy module.
   
   <P>
  +The following example rewrites everything to the mod_perl server. It
  +locally handles all requests for files with extensions <EM>gif</EM>, <EM>jpg</EM>,
  +<EM>png</EM>, <EM>css</EM>, <EM>txt</EM>, <EM>cgi</EM> and relative URIs starting 
with
  +<EM>/cgi-bin</EM> (e.g. if you want some scripts to be executed under mod_cgi).
   
  +<P>
  +
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3388,12 +3154,6 @@
         </tr>
       </table>
       <P>
  -The following example rewrites everything to the mod_perl server. It
  -locally handles all requests for files with extensions <EM>gif, jpg,
  -png, css, txt, cgi</EM> and relative URIs starting with <EM>/cgi-bin</EM>
  -(e.g. if you want some scripts to be executed under mod_cgi)
  -
  -<P>
   That is, first, handle locally what you want to handle locally, then hand
   off everything else to the back-end guy.
   
  @@ -3405,7 +3165,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3432,7 +3192,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3450,7 +3210,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -3461,6 +3221,116 @@
         </tr>
       </table>
       <P>
  +Instead of keeping all your Perl scripts in <EM>/perl</EM> and your static content 
everywhere else, you could keep your static content
  +in special directories and keep your Perl scripts everywhere else. You can
  +still use the light/heavy apache separation approach described before, with
  +a few minor modifications.
  +
  +<P>
  +In the <EM>light</EM> Apache's <EM>httpd.conf</EM> file, turn rewriting on:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  RewriteEngine On</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +Now list all directories that contain only static objects. For example if
  +the only relative to <CODE>DocumentRoot</CODE> directories are <EM>/images</EM> and
  +<EM>style</EM> you can set the following rule:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  RewriteRule ^/(images|style) - [L]</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +The <CODE>[L]</CODE> (<EM>Last</EM>) means that the rewrite engine should stop if 
it has a match. This is
  +necessary because the very last rewrite rule proxies everything to the 
<EM>heavy</EM> server:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  RewriteRule ^/(.*) <A 
HREF="http://www.example.com:8080/">http://www.example.com:8080/</A>$1 [P]</pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +This line is the difference between a server for which static content is
  +the default and one for which dynamic (perlish) content is the default.
  +
  +<P>
  +You should also add the <EM>reverse rewrite rule</EM> as before:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  ProxyPassReverse / <A 
HREF="http://www.example.com/">http://www.example.com/</A></pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
  +so that the user doesn't see the port number <CODE>:8080</CODE> in the browser's 
location window.
  +
  +<P>
  +It is possible to use <CODE>localhost</CODE> in the <CODE>RewriteRule</CODE> above 
if the heavy and light servers are on the same machine. So if we sum
  +up the above setup we get:
  +
  +<P>
  +
  +    <table>
  +      <tr>
  +
  +     <td bgcolor="#eeeeee" width="1">
  +       &nbsp;
  +        </td>
  +
  +     <td>
  +       <pre>  RewriteEngine On
  +  RewriteRule ^/(images|style) - [L]
  +  RewriteRule ^/(.*) <A 
HREF="http://www.example.com:8080/">http://www.example.com:8080/</A>$1 [P]
  +  ProxyPassReverse / <A 
HREF="http://www.example.com/">http://www.example.com/</A></pre>
  +        </td>
  +         
  +      </tr>
  +    </table>
  +    <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H1><A NAME="Caching_in_mod_proxy">Caching in mod_proxy</A></H1></CENTER>
  @@ -3475,11 +3345,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="strategy.html">Prev</a>                                 |
  +      <a href="./strategy.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="porting.html">Next</a>
  +      <a href="./porting.html">Next</a>
       </div>
       <p>
   
  @@ -3522,7 +3392,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/21/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/25/2000
   </font></b>
   <br>
   
  
  
  
  1.15      +15 -15    modperl-site/guide/security.html
  
  Index: security.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/security.html,v
  retrieving revision 1.14
  retrieving revision 1.15
  diff -u -r1.14 -r1.15
  --- security.html     2000/08/21 13:18:10     1.14
  +++ security.html     2000/11/26 22:02:32     1.15
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Protecting Your Site</title>
  +   <title>mod_perl guide: Protecting Your Site </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Protecting Your Site
  +      Protecting Your Site 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="correct_headers.html">Prev</a>                                 |
  +      <a href="./correct_headers.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="databases.html">Next</a>
  +      <a href="./databases.html">Next</a>
       </div>
       <p>
   
  @@ -186,7 +186,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -215,7 +215,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -308,7 +308,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -356,7 +356,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -393,7 +393,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -417,7 +417,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -452,7 +452,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -476,7 +476,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -498,11 +498,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="correct_headers.html">Prev</a>                                 |
  +      <a href="./correct_headers.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="databases.html">Next</a>
  +      <a href="./databases.html">Next</a>
       </div>
       <p>
   
  @@ -545,7 +545,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/21/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/20/2000
   </font></b>
   <br>
   
  
  
  
  1.27      +74 -72    modperl-site/guide/snippets.html
  
  Index: snippets.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/snippets.html,v
  retrieving revision 1.26
  retrieving revision 1.27
  diff -u -r1.26 -r1.27
  --- snippets.html     2000/08/21 13:18:11     1.26
  +++ snippets.html     2000/11/26 22:02:33     1.27
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Code Snippets</title>
  +   <title>mod_perl guide: Code Snippets </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Code Snippets
  +      Code Snippets 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="modules.html">Prev</a>                                 |
  +      <a href="./modules.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="hardware.html">Next</a>
  +      <a href="./hardware.html">Next</a>
       </div>
       <p>
   
  @@ -141,7 +141,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -186,7 +186,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -208,7 +208,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -233,7 +233,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -249,7 +249,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -377,7 +377,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -419,7 +419,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -439,7 +439,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -473,7 +473,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -492,7 +492,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -512,7 +512,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -542,7 +542,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -573,7 +573,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -596,7 +596,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -628,7 +628,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -677,7 +677,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -708,7 +708,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -730,7 +730,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -749,7 +749,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -765,9 +765,11 @@
   
   <P>
   Notice that you cannot use the <CODE>FindBin.pm</CODE> package, something that 
you'd do in the regular Perl scripts, because it
  -relies on the BEGIN block it won't work under mod_perl. It's loaded and
  -executed only for the first script executed inside the process, all the
  -others will use the cached value, which would be probably incorrect. Aargh.
  +relies on the
  +<CODE>BEGIN</CODE> block it won't work under mod_perl. It's loaded and executed 
only for the
  +first script executed inside the process, all the others will use the
  +cached value, which would be probably incorrect if they reside in different
  +directories.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -799,7 +801,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -896,7 +898,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -929,7 +931,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -959,7 +961,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -984,7 +986,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1009,7 +1011,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1039,7 +1041,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1059,7 +1061,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1094,7 +1096,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1132,7 +1134,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1151,7 +1153,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1187,7 +1189,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1213,7 +1215,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1298,7 +1300,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1323,7 +1325,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1375,7 +1377,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1402,7 +1404,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1424,7 +1426,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1451,7 +1453,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1487,7 +1489,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1510,7 +1512,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1528,7 +1530,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1558,7 +1560,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1596,7 +1598,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1611,7 +1613,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1628,7 +1630,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1653,7 +1655,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1678,7 +1680,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1697,7 +1699,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1767,7 +1769,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1803,7 +1805,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1831,7 +1833,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1890,7 +1892,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1933,7 +1935,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1960,7 +1962,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1982,7 +1984,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2019,7 +2021,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2063,7 +2065,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2082,7 +2084,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2129,7 +2131,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2147,7 +2149,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2167,7 +2169,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2237,7 +2239,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -2280,11 +2282,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="modules.html">Prev</a>                                 |
  +      <a href="./modules.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="hardware.html">Next</a>
  +      <a href="./hardware.html">Next</a>
       </div>
       <p>
   
  @@ -2327,7 +2329,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/21/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/26/2000
   </font></b>
   <br>
   
  
  
  
  1.24      +6 -6      modperl-site/guide/start.html
  
  Index: start.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/start.html,v
  retrieving revision 1.23
  retrieving revision 1.24
  diff -u -r1.23 -r1.24
  --- start.html        2000/08/05 20:48:08     1.23
  +++ start.html        2000/11/26 22:02:33     1.24
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Guide's Overview</title>
  +   <title>mod_perl guide: Guide's Overview </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Guide's Overview
  +      Guide's Overview 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="intro.html">Prev</a>                                 |
  +      <a href="./intro.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="perl.html">Next</a>
  +      <a href="./perl.html">Next</a>
       </div>
       <p>
   
  @@ -210,11 +210,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="intro.html">Prev</a>                                 |
  +      <a href="./intro.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="perl.html">Next</a>
  +      <a href="./perl.html">Next</a>
       </div>
       <p>
   
  
  
  
  1.17      +176 -217  modperl-site/guide/strategy.html
  
  Index: strategy.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/strategy.html,v
  retrieving revision 1.16
  retrieving revision 1.17
  diff -u -r1.16 -r1.17
  --- strategy.html     2000/08/21 13:18:11     1.16
  +++ strategy.html     2000/11/26 22:02:33     1.17
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Choosing the Right Strategy</title>
  +   <title>mod_perl guide: Choosing the Right Strategy </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Choosing the Right Strategy
  +      Choosing the Right Strategy 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="control.html">Prev</a>                                 |
  +      <a href="./control.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="scenario.html">Next</a>
  +      <a href="./scenario.html">Next</a>
       </div>
       <p>
   
  @@ -52,7 +52,7 @@
                <LI><A HREF="#Apache_s_mod_proxy">Apache's mod_proxy</A>
        </UL>
   
  -     <LI><A HREF="#When_One_Machine_is_not_Enough_f">When One Machine is not Enough 
for SQL DB and mod_perl</A>
  +     <LI><A HREF="#When_One_Machine_is_not_Enough_f">When One Machine is not Enough 
for RDBMS DataBase and mod_perl</A>
        <UL>
   
                <LI><A HREF="#Servers_Requirements">Servers' Requirements</A>
  @@ -67,9 +67,8 @@
                <LI><A HREF="#Three_Machines_Model">Three Machines Model</A>
        </UL>
   
  -     <LI><A HREF="#Do_Not_Run_Everything_on_One_mod">Do Not Run Everything on One 
mod_perl Server</A>
  -     <LI><A HREF="#Do_Not_Put_mod_ssl_into_a_mod_pe">Do Not Put mod_ssl into a 
mod_perl Server</A>
  -     <LI><A HREF="#Pros_and_Cons_of_Building_mod_pe">Pros and Cons of Building 
mod_perl as DSO</A>
  +     <LI><A HREF="#Running_More_than_One_mod_perl_S">Running More than One mod_perl 
Server on the Same Machine.</A>
  +     <LI><A HREF="#SSL_functionality_and_a_mod_perl">SSL functionality and a 
mod_perl Server</A>
   </UL>
   
       </div>
  @@ -220,7 +219,7 @@
   The DSO module (<CODE>mod_so</CODE>) adds size and complexity to your binaries.
   
   <P>
  -Refer to the section <A 
HREF="././strategy.html#Pros_and_Cons_of_Building_mod_pe">"Pros and Cons of Building 
mod_perl as DSO</A> for more information.
  +Refer to the section <A 
HREF="././install.html#Pros_and_Cons_of_Building_mod_pe">"Pros and Cons of Building 
mod_perl as DSO</A> for more information.
   
   <P>
   Build details: <A HREF="././install.html#Build_mod_perl_as_a_DSO_inside_t">Build 
mod_perl as DSO inside Apache source tree via APACI</A>
  @@ -507,54 +506,75 @@
   <HR>
   <CENTER><H1><A NAME="Adding_a_Proxy_Server_in_http_Ac">Adding a Proxy Server in 
http Accelerator Mode</A></H1></CENTER>
   <P>
  -At the beginning there were two servers: one plain Apache server, which was 
<EM>very light</EM>, and configured to serve static objects, the other mod_perl 
enabled (<EM>very heavy</EM>) and configured to serve mod_perl scripts. We named them 
<CODE>httpd_docs</CODE> and <CODE>httpd_perl</CODE> respectively.
  +At the beginning there were two servers: one plain Apache server, which was 
<EM>very light</EM>, and configured to serve static objects, the other mod_perl 
enabled (<EM>very heavy</EM>) and configured to serve mod_perl scripts and handlers. 
As you remember we
  +named them
  +<CODE>httpd_docs</CODE> and <CODE>httpd_perl</CODE> respectively.
   
   <P>
  -The two servers coexist at the same IP address by listening to different
  -ports: <CODE>httpd_docs</CODE> listens to port 80 (e.g. <A
  +In the dual-server setup presented earlier the two servers coexist at the
  +same IP address by listening to different ports: <CODE>httpd_docs</CODE>
  +listens to port 80 (e.g. <A
   
HREF="http://www.example.com/images/test.gif">http://www.example.com/images/test.gif</A>)
  -and <CODE>httpd_perl</CODE>
  -listens to port 8080 (e.g. <A
  +and
  +<CODE>httpd_perl</CODE> listens to port 8080 (e.g. <A
   
HREF="http://www.example.com:8080/perl/test.pl">http://www.example.com:8080/perl/test.pl</A>).
  -Note that I did not write <A
  +Note that we did not write <A
   HREF="http://www.example.com:80">http://www.example.com:80</A> for the
   first example, since port 80 is the default port for the http service.
  -Later on, I will be changing the configuration of the <CODE>httpd_docs</CODE> 
server to make it listen to port 81.
  +Later on, we will be changing the configuration of the <CODE>httpd_docs</CODE> 
server to make it listen to port 81.
   
   <P>
  -Now I am going to convince you that you <STRONG>want</STRONG> to use a proxy server 
(in the http accelerator mode). The advantages are:
  +This section will attempt to convince you that you really <STRONG>want</STRONG> to 
deploy a proxy server in the http accelerator mode. This is a special
  +mode that in addition to providing the normal caching mechanism,
  +accelerates your CGI and mod_perl scripts.
   
  -<UL>
  -<P><LI>
   <P>
  -Allow serving of static objects from the proxy's cache (objects that
  -previously were entirely served by the <CODE>httpd_docs</CODE> server).
  +The advantages of using the proxy server in conjunction with mod_perl are:
   
  +<UL>
   <P><LI>
   <P>
  -You get less I/O activity reading static objects from the disk (proxy
  -serves the most ``popular'' objects from RAM - of course you benefit more
  -if you allow the proxy server to consume more RAM). Since you do not wait
  -for the I/O to be completed, you are able to serve static objects much
  -faster.
  +Certainly the benefits of the usual use of the proxy server which allows
  +serving of static objects from the proxy's cache. You get less I/O activity
  +reading static objects from the disk (proxy serves the most ``popular''
  +objects from RAM -- of course you benefit more if you allow the proxy
  +server to consume more RAM). Since you do not wait for the I/O to be
  +completed, you are able to serve static objects much faster.
   
   <P><LI>
  -<P>
  -The proxy server acts as a sort of output buffer for the dynamic content.
  -The mod_perl server sends the entire response to the proxy and is then free
  -to deal with other requests. The proxy server is responsible for sending
  -the response to the browser. So if the transfer is over a slow link, the
  -mod_perl server is not waiting around for the data to move.
  -
   <P>
  -Using numbers is always more convincing :) Let's take a user connected to
  -your site with 56 kbps (bps == bits/sec) modem. 1 byte == 8 bits. It means
  -that the speed of the user's link is 56/8 = 7 kbytes/sec. I assume an
  -average generated HTML page to be of 42KB (KB == kilobytes) and an average
  -script that generates this output in 0.5 second. How long will the server
  -wait before the user gets the whole output response? A simple calculation
  -reveals pretty scary numbers -- it will have to wait for another 12 secs
  -(42kb/0.5*7KB), when it could serve another 11 (12/1-1) dynamic requests in
  +And the extra functionality provided by the http-acceleration mode, which
  +make the proxy server act as a sort of output buffer for the dynamic
  +content. The mod_perl server sends the entire response to the proxy and is
  +then free to deal with other requests. The proxy server is responsible for
  +sending the response to the browser. So if the transfer is over a slow
  +link, the mod_perl server is not waiting around for the data to move.
  +
  +<P>
  +Using numbers is always more convincing than just words. So we are going to
  +show a simple example from the real world.
  +
  +<P>
  +First let's explain the abbreviation used in the networking world, so you
  +won't get confused. If you someone writes 56 kbps -- it means 56 killo-bits
  +per second. It's not 56 killo-bytes per second, but 7 killo-bytes per
  +second, because 1 byte == 8 bits. So don't let the merchants fool you --
  +your modem gives your 7 killo-bytes per second connection at most and not
  +56 killo-bytes per second. Another convention used in computer literature
  +is that if you see 10Kb it usually means 10 killo-bits and 10KB is 10
  +killo-bytes. So if you see upper case <CODE>B</CODE> it generally refers to bytes, 
and lower case <CODE>b</CODE> to bits (and <STRONG>K</STRONG> of course means killo or 
1024). Remember that the latter convention is not
  +followed everywhere, so use this knowledge with care. This document is
  +following this convention.
  +
  +<P>
  +So here is the real world example. Let's look at the typical scenario with
  +a user connected to your site with 56Kbps modem. It means that the speed of
  +the user's link is 56/8 = 7KBytes per sec. Let's assume an average
  +generated HTML page to be of 42KB and an average mod_perl script that
  +generates this response in 0.5 second. How long will the server wait before
  +the user gets the whole output response? A simple calculation reveals
  +pretty scary numbers -- it will have to wait for another 12 secs
  +(42KB/0.5*7KB), when it could serve another 11 (12/1-1) dynamic requests in
   this time.
   
   <P>
  @@ -569,20 +589,24 @@
   as an exercise :)
   
   <P>
  -Many users like to open many browser windows and do many things at once
  -(download files and browse graphically <EM>heavy</EM> sites). So the speed of 
7K/sec we were assuming before, may often be 5-10
  -times slower.
  +Moreover many users like to open many browser windows and do many things at
  +once (download files and browse graphically <EM>heavy</EM>
  +sites). So in the speed of 7KB/sec we have assumed before, may in reality
  +be 5-10 times slower.
   
   <P><LI>
   <P>
  -We are going to hide the details of the server's implementation. Users will
  -never see ports in the URLs (more on that topic later). You can have a few
  -boxes serving the requests, and only one serving as a front end, which
  -spreads the jobs between the servers in a way that you can control. You can
  -actually shut down a server, without the user even noticing, because the
  -front end server will dispatch the jobs to other servers. (This is called
  -Load Balancing and it's a pretty big issue, which will not be discussed in
  -this document. For more information see <A 
HREF="././download.html#High_Availability_Linux_Project">'High-Availability Linux 
Project'</A>)
  +This technique allows us to hide the details of the server's
  +implementation. Users will never see ports in the URLs (more on that topic
  +later). You can have a few boxes serving the requests, and only one serving
  +as a front end, which spreads the jobs between the servers in a way that
  +you can control. You can actually shut down a server, without the user even
  +noticing, because the front end server will dispatch the jobs to other
  +servers. (This is called <EM>Load Balancing</EM>
  +and it's a pretty big issue which will take a book on its own to cover and
  +therefore will not be discussed here. There is a plenty of information
  +available at the Internet though. For more information see
  +<A HREF="././download.html#High_Availability_Linux_Project">'High-Availability 
Linux Project'</A>)
   
   <P><LI>
   <P>
  @@ -593,6 +617,12 @@
   allows for only your public ``bastion'' accelerating www server to get
   hosed in a successful attack, while leaving your internal data safe.
   
  +<P>
  +This is true if your server runs on your localhost (127.0.0.1) which makes
  +it impossible to connect to you back end machine from the outside. But you
  +don't need to connect from the outside anymore. You will see why when you
  +proceed to this techniques' implementation notes.
  +
   </UL>
   <P>
   The disadvantages are:
  @@ -604,25 +634,54 @@
   drawbacks, but they are more administration hassle. You have another daemon
   to worry about, and while proxies are generally stable, you have to make
   sure to prepare proper startup and shutdown scripts, which are run at boot
  -and reboot as appropriate. Also, you might want to set up the crontab to
  -run a watchdog script.
  +and reboot as appropriate. This is something that you do once and never
  +come back to this issue again. Also, you might want to set up the crontab
  +to run a watchdog script that will make sure that the proxying server is
  +running and restart it if it detects a problem, reporting the problem to
  +the administrator on the way.
   
   <P><LI>
   <P>
   Proxy servers can be configured to be light or heavy. The administrator
   must decide what gives the highest performance for his application. A proxy
  -server like squid is light in the sense of having only one process serving
  -all requests. But it can appear pretty heavy when it loads objects into
  -memory for faster service.
  +server like <EM>squid</EM> is light in the sense of having only one process serving 
all requests. But
  +it can consume a lot of memory when it loads objects into memory for faster
  +service.
  +
  +<P><LI>
  +<P>
  +If you use the default logging mechanism for all requests on the front- and
  +back-end servers the requests that will be forwarded to the back-end server
  +will be logged twice, which makes it tricky to merge the two logfiles,
  +should you want to.
  +
  +<P>
  +One solution is to tell the heavy Apache not to bother logging requests
  +that seem to come from the light Apache's machine. You might do this by
  +installing a custom <CODE>PerlLogHandler</CODE> or just piping to
  +<EM>access_log</EM> via <CODE>grep -v</CODE> (match all but this pattern) for the 
requests coming from the light Apache
  +server. In this scenario, the
  +<EM>access_log</EM> written by the light Apache is the file you should work with. 
But you need
  +to look for any direct accesses to the heavy server in case the proxy
  +server is sometimes bypassed, which can be eliminated if the server is
  +listening only to the localhost (127.0.0.1).
   
  +<P>
  +If you still decide to log proxied requests at the back-end server they
  +will be useless since instead of real remote IP of the user, you will get
  +always the same IP of the front-end server. Later in this Chapter on page
  +XXX (mod_proxy_add_forward) we present a solution for this problem.
  +
   </UL>
   <P>
   Have I succeeded in convincing you that you want a proxy server?
   
   <P>
  -If you are on a local area network (LAN), then the big benefit of the proxy
  -buffering the output and feeding a slow client is gone. You are probably
  -better off sticking with a straight mod_perl server in this case.
  +Of course if you are on a very fast local area network (LAN) (which means
  +that all your users are connected from this LAN and not from the outside),
  +then the big benefit of the proxy buffering the output and feeding a slow
  +client is gone. You are probably better off sticking with a straight
  +mod_perl server in this case.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -729,15 +788,12 @@
   keeps the client's view of both server names and port numbers in all cases.
   
   <P>
  -The difficult case is where:
  +The difficult case is where you have DNS aliases that map to the same IP
  +address and you want the redirect to port 80 and the server is on a
  +different port and you want to keep the specific name the browser has
  +already sent, so that it does not change in the client's <STRONG>Location</STRONG>
  +window.
   
  -<UL>
  -<P><LI><STRONG><A NAME="item_You">You have DNS aliases that map to the same IP 
address and</A></STRONG>
  -<P><LI><STRONG><A NAME="item_You">You want the redirect to port 80 and</A></STRONG>
  -<P><LI><STRONG><A NAME="item_The">The server is on a different port and</A></STRONG>
  -<P><LI><STRONG><A NAME="item_You">You want to keep the specific name the browser 
has already
  -sent, so that it does not change in the client's Location window.</A></STRONG>
  -</UL>
   <P>
   The Advantages:
   
  @@ -760,7 +816,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -780,7 +836,7 @@
   It even does caching. You have to produce correct <CODE>Content-Length</CODE>,
   <CODE>Last-Modified</CODE> and <CODE>Expires</CODE> http headers for it to work. If 
some of your dynamic content does not
   change frequently, you can dramatically increase performance by caching it
  -with <CODE>ProxyPass</CODE>.
  +with mod_proxy.
   
   <P><LI>
   <P>
  @@ -795,7 +851,7 @@
   
   <P><LI>
   <P>
  -The latest (Apache 1.3.6 and later) Apache proxy accelerated mode is
  +The latest (Apache 1.3.6 and later) Apache proxy accelerated module is
   reported to be very stable.
   
   </UL>
  @@ -805,21 +861,20 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H1><A NAME="When_One_Machine_is_not_Enough_f">When One Machine is not 
Enough for SQL DB and mod_perl</A></H1></CENTER>
  +<CENTER><H1><A NAME="When_One_Machine_is_not_Enough_f">When One Machine is not 
Enough for RDBMS DataBase and mod_perl</A></H1></CENTER>
   <P>
  -You have started your business as a small service providing web-site. After
  -a while your business becomes very popular and at some point you understand
  -that it has outgrown the capacity of your machine and you have moved
  -everything onto a stronger machine with more memory, a faster CPU and a
  -faster hard disk.
  +Imagine a scenario where you start your business as a small service
  +providing web-site. After a while your business becomes very popular and at
  +some point you understand that it has outgrown the capacity of your
  +machine. Therefore you decide to upgrade your current machine with lots of
  +memory, the cutting edge super expensive CPU and an ultra-fast hard disk.
  +As a result the load goes back to normal but not for a long, as the demand
  +for your services keeps on growing and just a little time after you've
  +upgraded your machine, once again it cannot cope the load. Should you buy
  +an even stronger and very expensive machine or start looking for another
  +solution? Let's explore the possible solution for this problem.
   
   <P>
  -The situation goes back to normal but not for a long, as the demand for
  -your services keeps on growing and just a little time after you've upgraded
  -your machine, once again it cannot cope the load. Should you buy an even
  -stronger and very expensive machine or start looking for another solution?
  -
  -<P>
   A typical web service consists of two main software components, the
   database server and the web server.
   
  @@ -829,7 +884,7 @@
   user, converting these parameters into a database query, sending it to the
   database server, accepting the results of the executed query, formatting
   them into a nice HTML page, and sending it to a user's Internet browser or
  -another application that created the request.
  +another application that created the request (e.g. WAP).
   
   <P>
   This figure depicts the above description:
  @@ -839,16 +894,16 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
        <td>
  -       <pre>             1                      2
  -  [      ] ====&gt; [               ] ====&gt; [                 ]
  -  [ User ]       [ Apache Server ]       [ Database Server ]
  -  [      ] &lt;==== [               ] &lt;==== [                 ]
  -             4                       3</pre>
  +       <pre>               1                      2
  +  [        ] ====&gt; [               ] ====&gt; [                 ]
  +  [ Client ]       [ Apache Server ]       [ Database Server ]
  +  [        ] &lt;==== [               ] &lt;==== [                 ]
  +               4                       3</pre>
           </td>
            
         </tr>
  @@ -860,27 +915,30 @@
   A 3-tier architecture means splitting up several processes of your
   computing solution between different machines.
   
  +<UL>
  +<P><LI><STRONG><A NAME="item_Tier">Tier 1</A></STRONG>
   <P>
  -1st you have the client, who will see the data on its screen and can give
  -instructions to modify or process the data. In our case, an Internet
  -browser.
  +The client, who will see the data on its screen and can give instructions
  +to modify or process the data. In our case, an Internet browser.
   
  +<P><LI><STRONG>Tier 1</STRONG>
   <P>
  -2nd you have the application server, which does the actual processing of
  -the data and sends it back to the client. In our case, a mod_perl enabled
  -Apache server.
  +The application server, which does the actual processing of the data and
  +sends it back to the client. In our case, a mod_perl enabled Apache server.
   
  +<P><LI><STRONG>Tier 1</STRONG>
   <P>
  -3rd you have the database server, which stores and retrieves all the data
  -for the application server.
  +The database server, which stores and retrieves all the data for the
  +application server.
   
  +</UL>
   <P>
  -We are interested only in the 2nd and the 3rd tiers; we don't specify user
  -machine requirements, since mod_perl is all about server side programming.
  -The only thing the user should be able to do is to render the generated
  -HTML from the response, which any simple browser will do. Of course I'm not
  -talking about the case where you return some heavy Java applets, but that
  -movie is screened in another theater.
  +We are interested only in the second and the third tiers; we don't specify
  +user machine requirements, since mod_perl is all about server side
  +programming. The only thing the client should be able to do is to render
  +the generated HTML from the response, which any simple browser will do. Of
  +course I'm not talking about the case where you return some heavy Java
  +applets, but that movie is screened in another theater.
   
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -915,7 +973,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -935,7 +993,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1097,7 +1155,7 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H1><A NAME="Do_Not_Run_Everything_on_One_mod">Do Not Run Everything on One 
mod_perl Server</A></H1></CENTER>
  +<CENTER><H1><A NAME="Running_More_than_One_mod_perl_S">Running More than One 
mod_perl Server on the Same Machine.</A></H1></CENTER>
   <P>
   Let's assume that you have two different sets of scripts/code which have
   little or nothing in common; different modules, no code sharing. Typical
  @@ -1125,7 +1183,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1142,7 +1200,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1179,7 +1237,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1198,7 +1256,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1217,7 +1275,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1259,7 +1317,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1274,7 +1332,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1326,7 +1384,7 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  -<CENTER><H1><A NAME="Do_Not_Put_mod_ssl_into_a_mod_pe">Do Not Put mod_ssl into a 
mod_perl Server</A></H1></CENTER>
  +<CENTER><H1><A NAME="SSL_functionality_and_a_mod_perl">SSL functionality and a 
mod_perl Server</A></H1></CENTER>
   <P>
   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
  @@ -1396,116 +1454,17 @@
   more freedom to change what software you're using and more control of
   things. So the choice is in your hand.
   
  -<P>
  -[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  -<HR>
  -<CENTER><H1><A NAME="Pros_and_Cons_of_Building_mod_pe">Pros and Cons of Building 
mod_perl as DSO</A></H1></CENTER>
  -<P>
  -On modern Unix derivatives there is a nifty mechanism usually called
  -dynamic linking/loading of Dynamic Shared Objects (DSO), which provides a
  -way to build a piece of program code in a special format for loading in at
  -run-time into the address space of an executable program.
  -
  -<P>
  -As of Apache 1.3, the configuration system supports two optional features
  -for taking advantage of the modular DSO approach: compilation of the Apache
  -core program into a DSO library for shared usage and compilation of the
  -Apache modules into DSO files for explicit loading at run-time.
  -
  -<P>
  -Should you use this method? Read the pros and cons and decide for yourself.
  -
  -<P>
  -Pros:
  -
  -<UL>
  -<P><LI>
  -<P>
  -The server package is more flexible at run-time because the actual server
  -process can be assembled at run-time via <CODE>LoadModule</CODE>
  -
  -<EM>httpd.conf</EM> configuration commands instead of <EM>Configuration</EM>
  -
  -<CODE>AddModule</CODE> commands at build-time. For instance this way one is able to 
run different
  -server instances (standard &amp; SSL version, with and without mod_perl)
  -with only one Apache installation.
  -
  -<P><LI>
  -<P>
  -The server package can be easily extended with third-party modules even
  -after installation. This is at least a great benefit for vendor package
  -maintainers who can create an Apache core package and additional packages
  -containing extensions like PHP3, mod_perl, mod_fastcgi, etc.
  -
  -<P><LI>
  -<P>
  -Easier Apache module prototyping because with the DSO/apxs pair you can
  -both work outside the Apache source tree and only need an apxs
  --i command followed by an apachectl&nbsp;restart to bring a new version of your 
currently developed module into the running
  -Apache server.
  -
  -</UL>
  -<P>
  -Cons:
  -
  -<UL>
  -<P><LI>
  -<P>
  -The DSO mechanism cannot be used on every platform because not all
  -operating systems support dynamic loading of code into the address space of
  -a program.
  -
  -<P><LI>
  -<P>
  -The server starts up approximately 20% slower because of the symbol
  -resolving overhead the Unix loader now has to do.
  -
  -<P><LI>
  -<P>
  -The server runs approximately 5% slower on some platforms because position
  -independent code (PIC) sometimes needs complicated assembler tricks for
  -relative addressing which are not necessarily as fast as absolute
  -addressing.
  -
  -<P><LI>
  -<P>
  -Because DSO modules cannot be linked against other DSO-based libraries (ld
  --lfoo) on all platforms (for instance a.out-based platforms usually don't
  -provide this functionality while ELF-based platforms do) you cannot use the
  -DSO mechanism for all types of modules. Or in other words, modules compiled
  -as DSO files are restricted to only use symbols from the Apache core, from
  -the C library (libc) and all other dynamic or static libraries used by the
  -Apache core, or from static library archives (libfoo.a) containing position
  -independent code. The only way you can use other code is to either make
  -sure the Apache core itself already contains a reference to it, loading the
  -code yourself via <CODE>dlopen()</CODE> or enabling the SHARED_CHAIN rule
  -while building Apache when your platform supports linking DSO files against
  -DSO libraries.
  -
  -<P><LI>
  -<P>
  -Under some platforms (many SVR4 systems) there is no way to force the
  -linker to export all global symbols for use in DSO's when linking the
  -Apache httpd executable program. But without the visibility of the Apache
  -core symbols no standard Apache module could be used as a DSO. The only
  -workaround here is to use the SHARED_CORE feature because this way the
  -global symbols are forced to be exported. As a consequence the Apache
  -src/Configure script automatically enforces SHARED_CORE on these platforms
  -when DSO features are used in the Configuration file or on the configure
  -command line.
  -
  -</UL>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   
   
       <p>
       <div class="navbar">
  -      <a href="control.html">Prev</a>                                 |
  +      <a href="./control.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="scenario.html">Next</a>
  +      <a href="./scenario.html">Next</a>
       </div>
       <p>
   
  @@ -1548,7 +1507,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/21/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/26/2000
   </font></b>
   <br>
   
  
  
  
  1.9       +99 -43    modperl-site/guide/troubleshooting.html
  
  Index: troubleshooting.html
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/troubleshooting.html,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- troubleshooting.html      2000/08/21 13:18:11     1.8
  +++ troubleshooting.html      2000/11/26 22:02:33     1.9
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <html>
     <head>
  -   <title>mod_perl guide: Warnings and Errors Troubleshooting Index</title>
  +   <title>mod_perl guide: Warnings and Errors Troubleshooting Index </title>
      <meta name="Author" content="Stas Bekman">
      <meta name="Description" content="All Apache/Perl related information: Hints, 
Guidelines, Scenarios and Troubleshottings">
      <meta name="keywords" content="mod_perl modperl perl cgi apache webserver speed 
fast guide mod_perl apache guide help info faq mod_perl installation cgi 
troubleshooting help no sex speedup free open source OSS mod_perl apache guide">
  @@ -14,16 +14,16 @@
       <h1 align=center>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=left></a>
         <a href="http://perl.apache.org"><img src="images/mod_perl.gif" alt="Mod Perl 
Icon" border=0 height=30 width=90 align=right></a>
  -      Warnings and Errors Troubleshooting Index
  +      Warnings and Errors Troubleshooting Index 
       </h1>
       <hr>
       <p>
       <div class="navbar">
  -      <a href="frequent.html">Prev</a>                                 |
  +      <a href="./frequent.html">Prev</a>                                 |
         <a href="index.html"         >Contents</a> |
         <a href="index.html#search"  >Search</a>   |
         <a href="index.html#download">Download</a> |
  -      <a href="correct_headers.html">Next</a>
  +      <a href="./correct_headers.html">Next</a>
       </div>
       <p>
   
  @@ -60,6 +60,7 @@
        <LI><A HREF="#Runtime">Runtime</A>
        <UL>
   
  +             <LI><A HREF="#foo_at_dev_null_line_0">foo ... at /dev/null line 0</A>
                <LI><A HREF="#Preventing_mod_perl_Processes_Fr">Preventing mod_perl 
Processes From Going Wild</A>
                <LI><A HREF="#Segfaults_when_using_XML_Parser">Segfaults when using 
XML::Parser</A>
                <LI><A HREF="#My_CGI_Perl_Code_Gets_Returned_a">My CGI/Perl Code Gets 
Returned as Plain Text Instead of Being Executed by the Webserver</A>
  @@ -86,6 +87,7 @@
                <LI><A HREF="#Can_t_undef_active_subroutine">Can't undef active 
subroutine</A>
                <LI><A HREF="#_warn_child_process_30388_did_n">[warn] child process 
30388 did not exit, sending another SIGHUP</A>
                <LI><A HREF="#Processes_Get_Stuck_on_Graceful_">Processes Get Stuck on 
Graceful Restart</A>
  +             <LI><A HREF="#httpd_keeps_on_growing_after_eac">httpd keeps on growing 
after each restart</A>
        </UL>
   
        <LI><A HREF="#Windows_OS_specific_notes">Windows OS specific notes</A>
  @@ -175,7 +177,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -208,7 +210,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -230,15 +232,15 @@
       <P>
   On BSD style filesystems <CODE>LD_LIBRARY_PATH</CODE> is not searched for setuid 
programs (a.k.a., Apache). This isn't a problem
   for CGIs since they don't do a setuid (and are forked off), but Apache
  -does, and mod_perl is in Apache. Therefore a solution is to explicitly load
  -the library from the system wide <EM>ldconfig</EM> configuration file:
  +does, and mod_perl is in Apache. Therefore the first solution is to
  +explicitly load the library from the system wide <EM>ldconfig</EM> configuration 
file:
   
   <P>
   
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -250,6 +252,39 @@
         </tr>
       </table>
       <P>
  +Another solution to this problem is to modify the resulting
  +<EM>Makefile</EM> ( after running <CODE>perl Makefile.PL</CODE>) as follows:
  +
  +<P>
  +1. search for the line <CODE>LD_RUN_PATH=</CODE>
  +
  +
  +
  +<P>
  +2. replace it with <CODE>LD_RUN_PATH=(my_oracle_home)/lib</CODE>
  +
  +
  +
  +<P>
  +(my_oracle_home) is, of course, the home path to your oracle installation.
  +In particular, the file libclntsh.so.8.0 should exist in that directory.
  +(If you use cpan, the build directory for DBD::Oracle should be in
  +~/.cpan/build/DBD-Oracle-1.06/ if you're logged in as root.)
  +
  +<P>
  +Then, just type <CODE>make install</CODE>, and all should go well.
  +
  +<P>
  +FYI, setting <CODE>LD_RUN_PATH</CODE> has the effect of hard-coding the path to
  +<EM>(my_oracle_home)/lib</EM> in the resulting <CODE>Oracle.so</CODE> file 
generated by the <CODE>DBD::Oracle</CODE> so that at run-time, it doesn't have to go 
searching through <CODE>LD_LIBRARY_PATH</CODE> or the default directories used by 
<CODE>ld</CODE>.
  +
  +<P>
  +For more information see the <EM>ld</EM> manpage and an essay on
  +<CODE>LD_LIBRARY_PATH</CODE>: <A
  
+HREF="http://www.visi.com/~barr/ldpath.html">http://www.visi.com/~barr/ldpath.html</A>
  +
  +
  +<P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
   <CENTER><H2><A NAME="Invalid_command_PerlHandler_">Invalid command 
'PerlHandler'...</A></H2></CENTER>
  @@ -258,7 +293,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -281,7 +316,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -307,7 +342,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -337,7 +372,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -355,7 +390,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -395,7 +430,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -418,7 +453,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -474,7 +509,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -501,7 +536,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -519,7 +554,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -539,6 +574,17 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  +<CENTER><H2><A NAME="foo_at_dev_null_line_0">foo ... at /dev/null line 
0</A></H2></CENTER>
  +<P>
  +Under mod_perl you may receive a warning or an error in the
  +<EM>error_log</EM> which specifies <EM>/dev/null</EM> as the source file, and line 
0 as an line number where the printing of the
  +message was triggered. This is absolutely normal if the code is executed
  +from within a handler, because there is no actual file associated with the
  +handler. Therefore <CODE>$0</CODE> is set to <EM>/dev/null</EM> and that's what you 
see.
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
   <CENTER><H2><A NAME="Preventing_mod_perl_Processes_Fr">Preventing mod_perl 
Processes From Going Wild</A></H2></CENTER>
   <P>
   See the sections ``<A 
HREF="././control.html#Non_Scheduled_Emergency_Log_Rota">Non-Scheduled Emergency Log 
Rotation</A>'' and ``<A HREF="././control.html#All_RAM_Consumed">All RAM Consumed</A>''
  @@ -556,7 +602,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -622,7 +668,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -652,7 +698,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -680,7 +726,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -701,7 +747,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -772,7 +818,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -791,7 +837,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -835,7 +881,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -878,7 +924,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -893,7 +939,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -922,7 +968,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -952,7 +998,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -972,7 +1018,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -991,7 +1037,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1010,7 +1056,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1031,7 +1077,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1049,7 +1095,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1084,7 +1130,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1134,7 +1180,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1181,6 +1227,16 @@
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
   <HR>
  +<CENTER><H2><A NAME="httpd_keeps_on_growing_after_eac">httpd keeps on growing after 
each restart</A></H2></CENTER>
  +<P>
  +See the <EM>HUP Signal</EM> explanation at the section:
  +<A HREF="././control.html#Server_Stopping_and_Restarting">Server Stopping and 
Restarting</A>
  +
  +
  +
  +<P>
  +[ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  +<HR>
   <CENTER><H1><A NAME="Windows_OS_specific_notes">Windows OS specific 
notes</A></H1></CENTER>
   <P>
   [ <B><FONT SIZE=-1><A HREF="#toc">TOC</A></FONT></B> ]
  @@ -1194,7 +1250,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1213,7 +1269,7 @@
       <table>
         <tr>
   
  -     <td bgcolor="blue" width="1">
  +     <td bgcolor="#eeeeee" width="1">
          &nbsp;
           </td>
   
  @@ -1238,11 +1294,11 @@
   
       <p>
       <div class="navbar">
  -      <a href="frequent.html">Prev</a>                                 |
  +      <a href="./frequent.html">Prev</a>                                 |
         <A HREF="index.html"         >Contents</A> |
         <A HREF="index.html#search"  >Search</A>   |
         <A HREF="index.html#download">Download</A> |
  -      <a href="correct_headers.html">Next</a>
  +      <a href="./correct_headers.html">Next</a>
       </div>
       <p>
   
  @@ -1285,7 +1341,7 @@
   <td align=center valign=center>
   
   <b><font size=-1>Written by <a
  -href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 08/21/2000
  +href="help.html#Contacting_me">Stas Bekman</a>.<br> Last Modified at 11/20/2000
   </font></b>
   <br>
   
  
  
  
  1.2       +1 -1      modperl-site/guide/code/My-DB.pm
  
  Index: My-DB.pm
  ===================================================================
  RCS file: /home/cvs/modperl-site/guide/code/My-DB.pm,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- My-DB.pm  2000/03/04 20:31:52     1.1
  +++ My-DB.pm  2000/11/26 22:02:45     1.2
  @@ -42,7 +42,7 @@
                                AutoCommit => 1, # commit executes immediately
                               }
                              )
  -    or DBI->disconnect("Cannot connect to database: $DBI::errstr\n");
  +    or die "Cannot connect to database: $DBI::errstr";
   
       # we want to die on errors if in debug mode
     $self->{dbh}->{RaiseError} = 1 if DEBUG;
  
  
  

Reply via email to