You are viewing a plain text version of this content. The canonical link for it is here.
Posted to modperl-cvs@perl.apache.org by sb...@hyperreal.org on 1999/04/19 21:54:08 UTC

cvs commit: modperl-site/guide CHANGES all.html config.html control.html debug.html frequent.html guide-src.tar.gz guide.tar.gz help.html index.html modules.html multiuser.html obvious.html performance.html perl.html porting.html scenario.html snippets.html start.html status.html warnings.html

sbekman     99/04/19 12:54:06

  Modified:    guide    CHANGES all.html config.html control.html
                        debug.html frequent.html guide-src.tar.gz
                        guide.tar.gz help.html index.html modules.html
                        multiuser.html obvious.html performance.html
                        perl.html porting.html scenario.html snippets.html
                        start.html status.html warnings.html
  Log:
  * guide.tar.gz and guide-src.tar.gz was outdated, now they are synced
  
  * Fixed a huge number of typos (with help of speller :), I'm sure
    there are still many that speller didn't caught - guess people are
    regular to read badly written textbooks, since just a few told me
    about them :( If you spot such, please, do not hesitate and tell me!
  
  * Lupe Christoph suggested to apply changes to the main page. It's
    done. Also as suggested by Lupe linked the text "Writing Apache
    Modules with Perl and C" a link to http://www.modperl.com/ .
  
  * Numerous typos were spotted by Andreas J. Koenig and gave me an
    idea to run speller :)
  
  Revision  Changes    Path
  1.9       +134 -1    modperl-site/guide/CHANGES
  
  Index: CHANGES
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/CHANGES,v
  retrieving revision 1.8
  retrieving revision 1.9
  diff -u -r1.8 -r1.9
  --- CHANGES	1999/04/03 20:33:49	1.8
  +++ CHANGES	1999/04/19 19:53:27	1.9
  @@ -1,4 +1,137 @@
  -This is a CHANGES file for mod_perl mini guide
  +This is a CHANGES file for mod_perl guide
  +
  +
  +04.19.99
  +
  +
  +* Fixed a huge number of typos (with help of speller :), I'm sure
  +  there are still many that speller didn't caught - guess people are
  +  regular to read badly written textbooks, since just a few told me
  +  about them :( If you spot such, please, do not hesitate and tell me!
  +
  +
  +* Lupe Christoph suggested to apply changes to the main page. It's
  +  done. Also as suggested by Lupe linked the text "Writing Apache
  +  Modules with Perl and C" a link to http://www.modperl.com/ .
  +
  +
  +* Numerous typos were spotted by Andreas J. Koenig and gave me an
  +  idea to run speller :)
  +
  +
  +04.17.99
  +
  +
  +* added to warnings.pod: explained "incorrect line number reporting in
  +  error/warn log messages"
  +
  +
  +* added to scenario.pod: clarification about 2 different config files
  +  in the 2 servers scenario (David Livingstone)
  +
  +
  +* added to scenario.pod: started "mod_perl as DSO" section - almost
  +  empty yet :( anyone with DSO experience?
  +
  +
  +* added to config.pod: started the mod_perl as DSO section
  +
  +
  +* updated config.pod: added how $Apache::Registry::NameWithVirtualHost
  +  bug in older versions can be turned into a feature (Doug)
  +
  +
  +* added to performance.pod : Memory sharing (Leslie Mikesell)
  +
  +
  +* updated warning.pod: server reached MaxClients setting
  +
  +
  +* updated performance.pod : MaxClients reached ( Nick Tonkin )
  +
  +
  +* updated start.pod: "How can I tell whether mod_perl is really
  +  installed" - added httpd -l
  +
  +
  +* modified scenario.pod: Made little changes to make the installation
  +  process less confusing (Pete Harlan)
  +
  +
  +* obvious.pod: updated "Handling the server timeout cases" -
  +  $SIG{ALRM} to not restore the original underlying C handler. Pointed
  +  to try a Sys::Signal as a remedy (Doug)
  +
  +
  +* new in multiuser.pod: ISPs providing mod_perl services - a fantasy
  +  or reality. (Notes from Mark Mills, Russell D. Weiss)
  +
  +
  +* new in multiuser.pod: Virtual Hosts in the guide
  +
  +
  +* new pod : multiuser.pod - mod_perl for ISPs. mod_perl and Virtual
  +  Hosts.
  +
  +
  +* Added a link to the new book to the O'Reilly and Amazon.com sites.
  +
  +
  +* debug.pod: added Apache::DB coverage
  +
  +
  +* performance.pod: "Why you should not use $|=1 under mod_perl" (Doug,
  +  Randal)
  +
  +
  +* debug.pod: "gdb says there are no debugging symbols" (Michael Hall)
  +
  +
  +* config.pod: "the server no longer retrieves the DirectoryIndex files
  +  for a directory" (Andreas Grupp)
  +
  +
  +* scenario.pod: added 'make test fails' when people use PREP_HTTPD=1
  +  or don't use DO_HTTPD=1 (Doug)
  +
  +
  +* removed the 'Mini' part from the guide's name, since it's growned
  +  enough to be not called mini any more.
  +
  +
  +* modules.pod: added Apache::Request
  +
  +
  +* modules.pod: added Apache::DBI 
  +
  +
  +* modules.pod: added Apache::Session (Jeffrey Baker)
  +
  +
  +* new pod: modules.pod - to introduce Apache::* modules with small
  + examples to rise curiosity to read the whole man page
  +
  +
  +* new in scenario.pod: "mod_perl and proxy server" 
  +
  +
  +	Incentives 
  +        Squid proxy server in httpd accelerator mode 
  +		Running a squid and 2 webservers scenario 
  +                Running a squid and 1 mod_perl apache server scenario
  +
  +
  +  (Reviewed and modified according to notes by
  +  Richard Dice, Andreas J. Koenig, Eric Cholet, Jeremy Bailin, David
  +  Landgren)
  +
  +
  +* Added to scenario.pod: 'Publishing port numbers different from 80'
  + (originally by Ken Williams, forwarded by Eric Strovink)
  +
  +
  +* config.pod: new section "Configuring Apache + mod_perl with mod_macro"
  +  contributed entirely by Eric Cholet (I have edited it a bit :).
   
   
   04.03.99
  
  
  
  1.10      +293 -270  modperl-site/guide/all.html
  
  Index: all.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/all.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- all.html	1999/04/17 21:44:41	1.9
  +++ all.html	1999/04/19 19:53:28	1.10
  @@ -12,10 +12,10 @@
   
   <H1 ALIGN=CENTER>Mod Perl Developer's Guide</H1>
   
  -<CENTER><P><B>Deploying apache/mod_perl accelerator to give a rocket speed
  +<CENTER><P><B>Deploying mod_perl technology to give a rocket speed
   to your perl cgi-bin scripts.</B></P></CENTER>
   
  -<CENTER><P><B>Version 1.09 Apr, 17 1999</B></P></CENTER>
  +<CENTER><P><B>Version 1.09 (+1/2) Apr, 19 1999</B></P></CENTER>
    
   <P>
   <HR WIDTH="100%"></P>
  @@ -43,7 +43,7 @@
   
   <LI><A HREF="performance.html">Performance. Benchmarks.</A> </LI>
   
  -<LI><A HREF="status.html">mod_perl Status. Peeking into the Server's Perl Inwards</A></LI>
  +<LI><A HREF="status.html">mod_perl Status. Peeking into the Server's Perl Innards</A></LI>
   
   <LI><A HREF="debug.html">Debugging mod_perl</A></LI>
   
  @@ -58,6 +58,8 @@
   
   <LI><A HREF="help.html">Help. Further Learning.</A></LI>
   
  +<LI> <HR WIDTH=200 SIZE=5 ALIGN="left">
  +
   <LI><A HREF="all.html">Guide All in One. Ready for Printing</A></LI>
   
   <LI><A HREF="CHANGES">CHANGES</A></LI>
  @@ -71,22 +73,26 @@
   </UL>
   
   <HR>
  +<P>
  +
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
  +	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
  +	     and <a
  +	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  +	     Amazon.com</a>.
  +<HR>
   <CENTER>
  -<TABLE BORDER=5 CELLSPACING=8 CELLPADDING=8 >
  +<TABLE BORDER=10 CELLSPACING=2 CELLPADDING=8 >
   <TR BGCOLOR="gray" ALIGN=CENTER VALIGN=TOP>
   <TD ALIGN=CENTER VALIGN=TOP>
  -<FONT COLOR=WHITE SIZE=+1>
  -<A NAME="SEARCH">Search perl.apache.org along with this guide</A>
  +<FONT COLOR=WHITE>
  +<A NAME="SEARCH">Search perl.apache.org along with this guide.</A>
   <FORM ACTION="http://search.apache.org/" METHOD="POST">
  -<INPUT TYPE="text" NAME="keyword" SIZE=40>
  +<INPUT TYPE="text" NAME="keyword" value="" SIZE=15>
   <input type="hidden" name="what" value="perl">
  -<BR>
  -Maximum number of records to return: 
  -<select name="results">
  -<option value=20>20
  -<option value=40>40
  -<option value=60>60
  -</select>
  +<input type="hidden" name="results" value=40>
   <INPUT TYPE="submit" VALUE="Search">
   </FORM>
   </FONT>
  @@ -94,13 +100,6 @@
   </TABLE>
   </CENTER>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  -	     href="http://www.ora.com/catalog/wrapmod/">O\'Reilly </a>
  -	     and <a
  -	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  -	     Amazon.com</a>.
  -
   <CENTER><TABLE CELLSPACING=2 CELLPADDING=2 WIDTH="100%" >
   <TR ALIGN=CENTER VALIGN=TOP>
   <TD ALIGN=CENTER VALIGN=CENTER COLSPAN="3">
  @@ -180,8 +179,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -230,8 +230,8 @@
   </PRE>
   <P>
   After setting this up, you can stick anything you want into
  -<CODE>%session</CODE> (except filehandles), and it will still be there when
  -the user invokes the next page.
  +<CODE>%session</CODE> (except file handles), and it will still be there
  +when the user invokes the next page.
   
   <P>
   It is possible to write an Apache authen handler using Apache::Session. You
  @@ -243,8 +243,8 @@
   As for IIS, let's compare. IIS's sessions are only valid on the same web
   server as the one that issued the session. Apache::Session's session
   objects can be shared amongst a farm of many machines running different
  -operating sytems, including even Win32. IIS stores session infomation in
  -RAM. Apache::Session stores sessions in databases, filesystems, or RAM.
  +operating systems, including even Win32. IIS stores session information in
  +RAM. Apache::Session stores sessions in databases, file systems, or RAM.
   IIS's sessions are only good for storing scalars or arrays.
   Apache::Session's sessions allow you to store arbitrarily complex objects.
   IIS sets up the session and automatically tracks it for you. With
  @@ -284,8 +284,8 @@
   with a NOP.
   
   <P>
  -You want to use this module if you are opening a <STRONG>few</STRONG> DB connections to the server. <CODE>Apache::DBI</CODE> will make them persistant per child, so if you have 10 children and each
  -opens 2 different connections you will have in total 20 opened persistant
  +You want to use this module if you are opening a <STRONG>few</STRONG> DB connections to the server. <CODE>Apache::DBI</CODE> will make them persistent per child, so if you have 10 children and each
  +opens 2 different connections you will have in total 20 opened persistent
   connections. Thus after initial connect you will save up the connection
   time for every connect request from your DBI module. Which is a huge
   benefit for the mod_perl apache server with high traffic of users deploying
  @@ -293,7 +293,7 @@
   
   <P>
   As you understand you must NOT use this module if you are opening a special
  -connection for each of your users, since each of them will stay persistant
  +connection for each of your users, since each of them will stay persistent
   and in a short time the number of connections will be so big that your
   machine will scream and die. If you want to use
   <CODE>Apache::DBI</CODE> in both situations, as of this moment the only available solution is to run
  @@ -347,8 +347,8 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H2><A NAME="Debugging_Apache_DBI">Debugging Apache::DBI</A></H2></CENTER>
   <P>
  -If you are not sure this module is working as advertisized, you should
  -enable the Debug mode in the startup script by:
  +If you are not sure this module is working as advertised, you should enable
  +the Debug mode in the startup script by:
   
   <P>
   <PRE>  $Apache::DBI::DEBUG = 1;
  @@ -381,7 +381,7 @@
   <CENTER><H3><A NAME="The_morning_bug">The morning bug</A></H3></CENTER>
   <P>
   SQL server keeps the connection to the client open for a limited period of
  -time. So many developers were hitten by so called <STRONG>Morning
  +time. So many developers were bitten by so called <STRONG>Morning
   bug</STRONG> when every morning the first users to use the site were receiving: <CODE>No Data Returned</CODE> message, but then everything worked as usual. The error caused by <CODE>Apache::DBI</CODE> returning a handle of the invalid connection (server closed it because of
   timeout), and the script was dying on that error. The infamous and well
   documented in the man page, <CODE>ping()</CODE> method was introduced to solve this problem. But seems that people are
  @@ -457,9 +457,9 @@
   . (replace x.xx with the current version)
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -478,7 +478,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/16/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -810,8 +810,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -1126,9 +1127,9 @@
   following sections: <A HREF="././porting.html#">Writing Mod Perl scripts and Porting plain CGIs</A>
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -1237,8 +1238,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -1405,8 +1407,8 @@
           --enable-module=include --enable-module=rewrite 
   </PRE>
   <P>
  -Note: add --layout to see the resulting dirs layout without actually making
  -the configuration.
  +Note: add --layout to see the resulting directories' layout without
  +actually making the configuration.
   
   <P><DT><STRONG><A NAME="item_Compilation">Compilation:</A></STRONG><DD>
   <P>
  @@ -1507,7 +1509,7 @@
   
   <P>
   While doing <CODE>perl Makefile.PL ...</CODE> mod_perl might complain by warning you about missing <CODE>libgdbm</CODE>. Users reported that it is actually crucial, and you must have it in order
  -to sucessfully complete the mod_perl build process.
  +to successfully complete the mod_perl build process.
   
   <P>
   Rename the 'httpd' to 'httpd_perl'
  @@ -1561,10 +1563,10 @@
   
   <P><LI>
   <P>
  -1 DSO style compile and 2 confs (Dynamic linking lets you compile once and
  -have a big and a small binary in memory BUT you have to deal with a freshly
  -made solution that has week documentation and is still subject to change
  -and is rather more complex)
  +1 DSO style compile and 2 configs (Dynamic linking lets you compile once
  +and have a big and a small binary in memory BUT you have to deal with a
  +freshly made solution that has week documentation and is still subject to
  +change and is rather more complex)
   
   <P><LI>
   <P>
  @@ -1626,7 +1628,7 @@
   
   <P>
   Now I am going to convince you that you _want_ to use a proxy server (in
  -the http acelerator mode). The reasons are:
  +the http accelerator mode). The reasons are:
   
   <UL>
   <P><LI>
  @@ -1644,7 +1646,7 @@
   <P><LI>
   <P>
   The proxy server acts as a sort of output buffer for the dynamic content.
  -The mod_perl server sends the entire respons to the proxy and is then free
  +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 getting
   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.
  @@ -1680,10 +1682,10 @@
   <P>
   Also 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). And you can
  -have a few boxes serving the requests, and only one serves as a frontend,
  +have a few boxes serving the requests, and only one serves as a front end,
   which spreads the jobs between the servers in a way you configured it too.
   So you can actually put down one server down for upgrade, but end user will
  -never notice that because the frontend server will dispatch the jobs to
  +never notice that because the front end server will dispatch the jobs to
   other servers. (of course this is pretty big topic, and it would not be
   included in the scope of this document)
   
  @@ -1693,7 +1695,7 @@
   
   <P><LI>
   <P>
  -Of course there are drawbacks. Luckely, these are not functionality
  +Of course there are drawbacks. Luckily, these are not functionality
   drawbacks, but more of administration hassle. Yes, you add another program
   to worry about, while proxies are generally stable you have to make sure to
   prepare proper startup and shutdown scripts, which are being run at the
  @@ -1714,7 +1716,7 @@
   </UL>
   <P>
   So let's sum up the points. We have 4 (6-2) points for the proxy server and
  -I beleive I have succeeded to convince you, that you want it :)
  +I believe I have succeeded to convince you, that you want it :)
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  @@ -1735,9 +1737,9 @@
   First, lets understand what do we have in hands and what do we want from
   squid. We have an httpd_docs and httpd_perl servers listening on ports 81
   and 8080 accordingly (we have to move the httpd_docs server to port 81,
  -since port 80 will be taken over by squid). Both resides on the same
  -machine as squid. We want squid to listen on port 80, forward a single
  -static object request to the port httpd_docs server listens to, and dynamic
  +since port 80 will be taken over by squid). Both reside on the same machine
  +as squid. We want squid to listen on port 80, forward a single static
  +object request to the port httpd_docs server listens to, and dynamic
   request to httpd_perl's port. Both servers return the data to the proxy
   server (unless it is already cached in the squid), so user never sees the
   ports and never knows that there might be more then one server running.
  @@ -1747,18 +1749,18 @@
   forgets about it. The described functionality is being known as <CODE>httpd accelerator mode</CODE> in proxy dialect.
   
   <P>
  -You should understand that squid can be used as a stright forward proxy
  +You should understand that squid can be used as a straight forward proxy
   server, generally used in companies and ISPs to save up the traffic by
   caching the most popular requests. We want to run it in the
   <CODE>httpd accelerator mode</CODE>. Two directives: <CODE>httpd_accel_host</CODE> and
  -<CODE>httpd_accel_port</CODE> enables this mode. We will see more details in a few seconds. If you are
  +<CODE>httpd_accel_port</CODE> enable this mode. We will see more details in a few seconds. If you are
   currently using the squid in the proxy mode, you can extend its
  -functionality vy running both modes concurrently. To accomplish this, you
  +functionality by running both modes concurrently. To accomplish this, you
   just configure the <CODE>httpd
   accelerator mode</CODE>'s related directives as you were configuring it from scratch.
   
   <P>
  -As stated before, proxy server now listens the port 80 now, we have to move
  +As stated before, proxy server listens now to the port 80, we have to move
   the httpd_docs server to port 81 for example (your mileage may vary :). So
   you have to modify the httpd.conf in the httpd_docs config directory and
   restart the httpd_docs server (But not before we get the squid running if
  @@ -1822,7 +1824,7 @@
   scripts should carry the <CODE>Caching Directives</CODE> according to the HTTP specs. You will find a complete tutorial about this
   topic in
   <CODE>Tutorial on HTTP Headers for mod_perl users</CODE> by Andreas J. Koenig. If you set the headers correctly there is no need to
  -tell squid accellerator to NOT try to cache something. The headers I am
  +tell squid accelerator to NOT try to cache something. The headers I am
   talking about are <CODE>Last-Modified</CODE> and <CODE>Expires</CODE>. What are they good for?
   
   <P>
  @@ -1843,7 +1845,7 @@
   But if you are lazy, or just have too many things to deal with, you can
   leave the above directives the way I described. But keep in mind that one
   day you will want to reread this snippet and the Andreas' tutorial and
  -squize even more from your servers without investing money for more memory
  +squeeze even more from your servers without investing money for more memory
   and better hardware.
   
   <P>
  @@ -1869,8 +1871,8 @@
   </PRE>
   <P>
   Maximum allowed request size in kilobytes. This one is pretty obvious. If
  -you are using POST to upload files, then set this to the largest filesize
  -plus a few extra kbytes.
  +you are using POST to upload files, then set this to the largest file's
  +size plus a few extra kbytes.
   
   <P>
   <PRE>  request_size 1000 KB
  @@ -2097,9 +2099,9 @@
   servers``. Since all my static objects will be cached by squid, I do not
   need the light server. But it was a wrong assumption. Why? Because you
   still have the overhead of loading the objects into squid at first time,
  -and if you site has many of them. Not all of them will be cached (unless
  +and if your site has many of them. Not all of them will be cached (unless
   you have devoted a huge chunk of memory to squid) and my heavy mod_perl
  -servers will still jave an overhead of serving the static documents. How
  +servers will still have an overhead of serving the static documents. How
   one would measure the overhead? The difference between the two servers is
   memory consumption, everything else (e.g. I/O) should be equal. So you have
   to estimate the time needed for first fetches per second at a peak period
  @@ -2109,22 +2111,22 @@
   installations.
   
   <P>
  -So I have decide to have even more administration overhead and to stick to
  -the squid, httpd_docs and httpd_perl scenario. Where I can optimize
  -everything. Of course this can be not your case. If you are feeling like
  -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 the squid
  -to do most of the job that plain light apache used to do. As I have
  -explained in the last 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 do the work we do not want it to.
  +So I have decided to have even more administration overhead and to stick to
  +the squid, httpd_docs and httpd_perl scenario, where I can optimize and
  +fine tune everything. Of course this can be not your case. If you are
  +feeling like 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 the squid to do most of the job that plain light apache used to do. As
  +I have explained in the last 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 do the work we do not want it to.
   
   <P>
   So if you are still with me. Install the apache with mod_perl and the
   squid. Then use a similar configuration from 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>. We also do need to bind two servers on the same port anymore because we
  -do not redirect anymore (do there is no need for <CODE>Bind</CODE> and <CODE>Listen</CODE> directives in the httpd.conf).
  +and we specify <CODE>httpd_accel_host</CODE> as a name of the server and not <CODE>virtual</CODE>. We also do not need to bind two servers on the same port anymore because
  +we do not redirect anymore (do there is no need for <CODE>Bind</CODE> and <CODE>Listen</CODE> directives in the httpd.conf).
   
   <P>
   The modified configuration (see the explanations in the previous section):
  @@ -2189,7 +2191,7 @@
   you are not starting it as <CODE>root</CODE>, so choose a port number above 1024. (I use 8080 in most cases). Note that
   you will have to use a URL like <CODE>http://www.you.com:8080</CODE> in that case, but that is not a problem since generally users do not
   directly access URLs to CGI scripts, but rather are directed to them from a
  -link on a webpage or as the '<CODE>ACTION</CODE>' of an HTML form, so they should not know at all that the port is
  +link on a web page or as the '<CODE>ACTION</CODE>' of an HTML form, so they should not know at all that the port is
   different from the default port 80.
   
   <P>
  @@ -2229,7 +2231,7 @@
   I was into this problem many times. I am going to build something by
   passing some non default parameters to the config script and then later
   when I need to rebuild the tool either to upgrade it or to make an
  -indentical copy at some other machine, I have found that I do not remember
  +identical copy at some other machine, I have found that I do not remember
   what parameters did I altered.
   
   <P>
  @@ -2298,9 +2300,9 @@
     make install
   </PRE>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -2319,7 +2321,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/18/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -2403,8 +2405,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -2452,31 +2455,31 @@
     Alias /cgi-perl/ /usr/apps/myproject/cgi/
   </PRE>
   <P>
  -Alias provides a mapping of URL to filesystem object.
  +Alias provides a mapping of URL to file system object.
   
   <P>
   Alias defines the start of the URL path to the script you are referencing.
   For example, using the above configuration, fetching
   <STRONG>http://www.you.com/perl/test.pl</STRONG>, will cause the server to look for the file <STRONG>test.pl</STRONG> at <STRONG>/usr/apps/myproject/cgi</STRONG>, and execute it as an <STRONG>Apache::Registry</STRONG> script. The URL
   <STRONG>http://www.you.com/perl/test.pl</STRONG> will be mapped to
  -<STRONG>/usr/apps/myproject/cgi/test.pl</STRONG>. This means you can have all your CGIs located at the same place at
  -filesystem, and call the script in any of three modes simply by changing
  -the directory name component of the URL (cgi-bin|perl|cgi-perl) - is not
  -that cool? (That is the configuration you see above - all three Aliases
  -point to the same directory within your filesystem, but of course they can
  -be different). If your script does not seem to be working while running
  -under mod_perl, you can easily call the script in straight mod_cgi mode
  -without making any script changes (in most cases), but rather by changing
  -the URL you invoke it by.
  +<STRONG>/usr/apps/myproject/cgi/test.pl</STRONG>. This means you can have all your CGIs located at the same place at file
  +system, and call the script in any of three modes simply by changing the
  +directory name component of the URL (cgi-bin|perl|cgi-perl) - is not that
  +cool? (That is the configuration you see above - all three Aliases point to
  +the same directory within your file system, but of course they can be
  +different). If your script does not seem to be working while running under
  +mod_perl, you can easily call the script in straight mod_cgi mode without
  +making any script changes (in most cases), but rather by changing the URL
  +you invoke it by.
   
   <P>
   FYI: for modperl ScriptAlias is the same thing as an Alias command +
   'sethandler cgi-handler'. The latter will be overwritten if you enable
   Apache::Registry. In other words, ``ScriptAlias does not work for
  -mod_perl'', it only appears to work when the additional config is in there.
  -If the Apache::Registry config came before the ScriptAlias, scripts would
  -be run under mod_cgi. While handy, ScriptAlias is a known kludge, always
  -better to use 'Alias' and 'SetHandler'.
  +mod_perl'', it only appears to work when the additional configuration is in
  +there. If the Apache::Registry configuration came before the ScriptAlias,
  +scripts would be run under mod_cgi. While handy, ScriptAlias is a known
  +kludge, always better to use 'Alias' and 'SetHandler'.
   
   <P>
   Of course you can choose any other alias (you will use it later in
  @@ -2518,7 +2521,7 @@
   <P>
   Remember the <STRONG>Alias</STRONG> from the section above? We must use the same Alias here, if you use
   Location that does not have the same Alias defined in srm.conf, the server
  -will fail to locate the script in the filesystem. (We are talking about
  +will fail to locate the script in the file system. (We are talking about
   script execution here -- there are cases where Location is something that
   is being executed by the server itself, without having the corresponding
   file, like <A HREF="#perl_status">perl-status</A>.)
  @@ -2559,9 +2562,9 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H1><A NAME="perl_startup_file">perl-startup file</A></H1></CENTER>
   <P>
  -Since many times you have to add many perl directives to the config file,
  -it can be a good idea to put all of these into one file, so the config file
  -will be cleaner, also you can call <STRONG>perl -c perl-startup</STRONG>
  +Since many times you have to add many perl directives to the configuration
  +file, it can be a good idea to put all of these into one file, so the
  +configuration file will be cleaner, also you can call <STRONG>perl -c perl-startup</STRONG>
   to test the file's syntax. What does this take? Add this line to
   httpd.conf:
   
  @@ -2606,7 +2609,7 @@
   <PRE>  use CGI qw(-compile :all);
   </PRE>
   <P>
  -But the old method is still available for backword compatibility.
  +But the old method is still available for backward compatibility.
   
   <P>
   See also <A HREF="././status.html#Configuration">Apache::Status</A>
  @@ -2907,8 +2910,8 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H2><A NAME="My_cgi_perl_code_is_being_return">My cgi/perl code is being returned as a plain text instead of being executed by the webserver?</A></H2></CENTER>
   <P>
  -Check your config files and make sure that the ``ExecCGI'' is turned on in
  -your configurations. 
  +Check your configuration files and make sure that the ``ExecCGI'' is turned
  +on in your configurations. 
   
   <P>
   <PRE>  &lt;Location /perl&gt;
  @@ -2923,7 +2926,7 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H2><A NAME="My_script_works_under_cgi_bin_b">My script works under cgi-bin, but when called via mod_perl I see A 'Save-As' prompt</A></H2></CENTER>
   <P>
  -Did you put <STRONG>PerlSendHeader On</STRONG> in the config part of the &lt;Location foo&gt;&lt;/Location&gt;?
  +Did you put <STRONG>PerlSendHeader On</STRONG> in the configuration part of the &lt;Location foo&gt;&lt;/Location&gt;?
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  @@ -2971,9 +2974,9 @@
   &lt;File&gt;- section.
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -2992,7 +2995,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/17/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -3058,8 +3061,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -3125,7 +3129,7 @@
   
   <P>
   That's the moment that the accumulated END{} blocks will be executed! Note
  -that if you use <STRONG>Apache::Registry</STRONG> or <STRONG>Apache::PerRun</STRONG>, then END {} blocks are being executed upon each request (at the end).
  +that if you use <STRONG>Apache::Registry</STRONG> or <STRONG>Apache::PerlRun</STRONG>, then END {} blocks are being executed upon each request (at the end).
   
   <P><DT><STRONG><A NAME="item_HUP">HUP Signal: restart now</A></STRONG><DD>
   <P>
  @@ -3135,7 +3139,7 @@
   files. Then it spawns a new set of children and continues serving hits.
   
   <P>
  -The server will reread its config files, flush all the compiled and
  +The server will reread its configuration files, flush all the compiled and
   preloaded modules, and rerun any startup files. It's equivalent to
   stopping, then restarting a server.
   
  @@ -3249,7 +3253,7 @@
   your web server is automatically restarted upon system reboot. Either copy
   the <STRONG>apachectl</STRONG> file to the appropriate location (<CODE>/etc/rc.d/rc3.d/S99apache</CODE> works on my RedHat Linux system) or create a symlink with that name
   pointing to the the canonical location. (If you do this, make certain that
  -the script is writeable only by root -- the startup scripts have root
  +the script is writable only by root -- the startup scripts have root
   privileges during init processing, and you don't want to be opening any
   security holes.)
   
  @@ -3596,8 +3600,9 @@
   something to POST (redirect looses all the data!).
   
   <P>
  -Second, use a general config module which generates a correct full URL
  -according to REMOTE_USER, so if $ENV{REMOTE_USER} eq 'sbekman', I return <A
  +Second, use a general configuration module which generates a correct full
  +URL according to REMOTE_USER, so if $ENV{REMOTE_USER} eq 'sbekman', I
  +return <A
   HREF="http://ourserver.com:8000/perl/">http://ourserver.com:8000/perl/</A>
   as cgi_base_url. Again this will work if the user is authenticated.
   
  @@ -3625,9 +3630,9 @@
   environment of the server, by first deleting the environment variables like
   PERL5LIB and calling the same perl binary that it's being used by the
   server. Next, set the environment identical to the server's by copying the
  -perl run directives from server startup and config files. It'll also allow
  -you to remove completely the first line of the script - since mod_perl
  -skips it and the wrapper knows how to call the script.
  +perl run directives from server startup and configuration files. It'll also
  +allow you to remove completely the first line of the script - since
  +mod_perl skips it and the wrapper knows how to call the script.
   
   <P>
   Below is the example of such a script. Note that we force the -Tw when we
  @@ -3871,7 +3876,7 @@
   It seems that his script will trigger restart every minute, since once the
   logfile grows to be of 100000 lines, it'll stay of this size, unless you
   remove or rename it, before you do restart. On my server I run a watchdog
  -every five minutes which restarts the server if it's getting stucked (it
  +every five minutes which restarts the server if it's getting stuck (it
   always works since when some modperl child process goes wild, the I/O it
   causes is so heavy that other brother processes can't normally to serve the
   requests.) See <A HREF="././control.html#Monitoring_the_Server_A_watchdo">Monitoring the Server</A> for more hints.
  @@ -3891,9 +3896,9 @@
     `-----
   </PRE>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -3912,7 +3917,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/03/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -3972,7 +3977,7 @@
   		<LI><A HREF="#What_s_different_about_modperl">What's different about modperl</A>
   		<UL>
   
  -			<LI><A HREF="#Script_s_namespace">Script's namespace</A>
  +			<LI><A HREF="#Script_s_name_space">Script's name space</A>
   			<LI><A HREF="#Name_collisions_with_Modules_and">Name collisions with Modules and libs</A>
   			<LI><A HREF="#_END_or_DATA_tokens">__END__ or __DATA__ tokens</A>
   			<LI><A HREF="#Output_from_system_calls">Output from system calls</A>
  @@ -4009,8 +4014,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -4092,10 +4098,10 @@
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -<CENTER><H3><A NAME="Script_s_namespace">Script's namespace</A></H3></CENTER>
  +<CENTER><H3><A NAME="Script_s_name_space">Script's name space</A></H3></CENTER>
   <P>
  -Scripts under Apache::Registry do not run in package <STRONG>main</STRONG>, they run in a unique namespace based on the requested uri. For example,
  -if your uri is <STRONG>/perl/test.pl</STRONG> the package will be called 
  +Scripts under Apache::Registry do not run in package <STRONG>main</STRONG>, they run in a unique name space based on the requested URI. For example,
  +if your URI is <STRONG>/perl/test.pl</STRONG> the package will be called 
   <STRONG>Apache::ROOT::perl::test_2epl;</STRONG>
   
   <P>
  @@ -4231,7 +4237,7 @@
   </PRE>
   <P>
   But then you lose portability! (I mean if you move the tool around in the
  -filesystem you will have to change the base dir)
  +file system you will have to change the base dir)
   
   <P><LI>
   <P>
  @@ -4576,9 +4582,9 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H2><A NAME="Turning_warnings_ON">Turning warnings ON</A></H2></CENTER>
   <P>
  -Have a <CODE>$^W=1</CODE> in the script or PerlWarn ON at the server config file. Turning the warning
  -on will save you a lot of troubles with debugging your code. Note that
  -first magic line <CODE>#!/perl -switches</CODE>
  +Have a <CODE>$^W=1</CODE> in the script or PerlWarn ON at the server configuration file. Turning the
  +warning on will save you a lot of troubles with debugging your code. Note
  +that first magic line <CODE>#!/perl -switches</CODE>
   is ignored by mod_perl, so too are the switches you used to write there.
   
   <P>
  @@ -4950,9 +4956,9 @@
   reasons, such as user aborted script (<A HREF="././obvious.html#Handling_the_User_pressed_Stop_">Handling the 'User pressed Stop button' case</A>) the leakage is still there.
   
   <P>
  -What do we do? We use <CODE>IO::File</CODE> (and other <CODE>IO::*</CODE>), which allows us to assign the filehandler to variable, which can be <CODE>my()</CODE>
  -scoped. And when this variable goes out of scope the file or other
  -filesystem entity will be preperly closed and unlocked (if was locked).
  +What do we do? We use <CODE>IO::File</CODE> (and other <CODE>IO::*</CODE>), which allows us to assign the file handler to variable, which can be <CODE>my()</CODE>
  +scoped. And when this variable goes out of scope the file or other file
  +system entity will be properly closed and unlocked (if was locked).
   
   <P>
   <PRE>  {
  @@ -5100,7 +5106,7 @@
   write scripts that run under CGI or mod_perl without any change. Unlike
   Apache::Registry, the Apache::PerlRun handler does not cache the script
   inside of a subroutine. Scripts will be ``compiled'' on each request. After
  -the script has run, its namespace is flushed of all variables and
  +the script has run, its name space is flushed of all variables and
   subroutines. Still, you don't have the overhead of loading the perl and
   compilation time of the standard modules (If your script is very light, but
   uses lots of standard modules - you will see no difference between
  @@ -5111,8 +5117,8 @@
   have circular references, they will be not flushed!!!
   
   <P>
  -Apache::PerlRun only flushes your script's namespace, which does not
  -include any other required packages' namespaces. If there's a reference to
  +Apache::PerlRun only flushes your script's name space, which does not
  +include any other required packages' name spaces. If there's a reference to
   a <STRONG>my()</STRONG> scoped variable that's keeping it from being DESTROYed after leaving the
   eval scope (of Apache::PerlRun), that cleanup might not be taken care of
   until the server is shutdown and <CODE>perl_destruct()</CODE> is run, which
  @@ -5177,9 +5183,14 @@
   <P>
   <PRE>  # assign the DIE sighandler to call mydie(error_message) whenever a
     # die() sub is being called. Can be added anywhere in the code.
  -  $SIG{'__DIE__'} = \&amp;mydie;
  +  local $SIG{'__DIE__'} = \&amp;mydie;
     
  -  # and the handler itself
  +Do not forget the C&lt;local()&gt;, unless you want this signal handler to
  +be invoked every time any scripts dies (Even those where this
  +treatment is undesirable)
  +</PRE>
  +<P>
  +<PRE>  # and the handler itself
     sub mydie{
       my $why = shift;
     
  @@ -5292,9 +5303,9 @@
   it.
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -5313,7 +5324,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/03/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -5373,8 +5384,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -5404,9 +5416,9 @@
   <A HREF="././warnings.html#Evil_things_might_happen_when_us">Evil things might happen when using PerlFreshRestart</A>
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -5505,8 +5517,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -5526,7 +5539,7 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H2><A NAME="The_poison">The poison</A></H2></CENTER>
   <P>
  -In a non modperl script (standalone or CGI), there is no problem writing
  +In a non modperl script (stand alone or CGI), there is no problem writing
   code like this:
   
   <P>
  @@ -5552,13 +5565,12 @@
     }
   </PRE>
   <P>
  -Now printit is an inner named subroutine. Because it is referencing a
  -lexical variable from an enclosing scope, a closure is created.
  +Now <CODE>printit</CODE> is an inner named subroutine. Because it is referencing a lexical variable
  +from an enclosing scope, a closure is created.
   
   <P>
   The first time the script is run, the correct value of <CODE>$x</CODE> will
  -be printed. However on subsequent runs, printit will retain the initial
  -value of <CODE>$x</CODE> -- not what you want.
  +be printed. However on subsequent runs, <CODE>printit</CODE> will retain the initial value of <CODE>$x</CODE> -- not what you want.
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  @@ -5571,7 +5583,8 @@
   </PRE>
   <P>
   NOTE: Subroutines defined inside <STRONG>BEGIN{}</STRONG> and <STRONG>END{}</STRONG> cannot trigger this message, since each <STRONG>BEGIN{}</STRONG> and <STRONG>END{}</STRONG> is defined to be called exactly once. (To understand why, read about the
  -closures at perlref or perlfaq 13.12)
  +closures at
  +<CODE>perlref</CODE> or <CODE>perlfaq</CODE> 13.12)
   
   <P>
   PERLDIAG manpage says:
  @@ -5666,8 +5679,7 @@
   The situation is different with Apache::Registry, since the whole idea is
   to get maximum performance from the server. By default, the server won't
   spend the time to check whether any included library modules have been
  -changed. It assumes that they weren't, thus saving a few millisecs to stat
  -the source file (multiplied by however many modules/libraries you are
  +changed. It assumes that they weren't, thus saving a few milliseconds to <CODE>stat()</CODE> the source file (multiplied by however many modules/libraries you are
   <STRONG>use</STRONG>/<STRONG>require</STRONG>-ing in your script.) The only check that is being done is whether your
   main script has been changed. So if you have only one script that doesn't <STRONG>use</STRONG> (or <STRONG>require</STRONG>) other perl modules (or packages), there is nothing new about it. If
   however, you are developing a script that includes other modules, the files
  @@ -6166,7 +6178,8 @@
   </PRE>
   <P>
   Hey, where is the beginning of the path? There is another Apache parameter
  -called <CODE>ServerRoot</CODE>. Everytime apache sees a value of the parameter with no absolute path (e.g <CODE>/tmp/my.txt</CODE>) but with relative path (e.g <CODE>my.txt</CODE>) it prepends the value of the <CODE>ServerRoot</CODE> to this value. I have:
  +called <CODE>ServerRoot</CODE>. Every time apache sees a value of the parameter with no absolute path
  +(e.g <CODE>/tmp/my.txt</CODE>) but with relative path (e.g <CODE>my.txt</CODE>) it prepends the value of the <CODE>ServerRoot</CODE> to this value. I have:
   
   <P>
   <PRE>  ServerRoot /usr/local/apache
  @@ -6174,7 +6187,7 @@
   <P>
   So I will look for error_log file at
   <CODE>/usr/local/apache/var/logs/error_log</CODE>. Of course you can also use an absolute path to define the file's location
  -at the filesystem.
  +at the file system.
   
   <P>
   &lt;META&gt;: is this 100% correct?
  @@ -6202,9 +6215,9 @@
   &lt;/META&gt;
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -6223,7 +6236,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/17/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -6281,7 +6294,7 @@
   	<LI><A HREF="#Value_of_x_may_be_unavailable_a">Value of $x may be unavailable at - line 5.</A>
   	<LI><A HREF="#mod_perl_rwrite_returned_1">mod_perl: rwrite returned -1</A>
   	<LI><A HREF="#caught_SIGPIPE_in_process">caught SIGPIPE in process</A>
  -	<LI><A HREF="#Client_hit_STOP_or_Netscrape_bit">Client hit STOP or Netscrape bit it!</A>
  +	<LI><A HREF="#Client_hit_STOP_or_Netscape_bit_">Client hit STOP or Netscape bit it!</A>
   	<LI><A HREF="#Constant_subroutine_redefine">Constant subroutine ... redefined</A>
   	<LI><A HREF="#Global_symbol_foo_requires_ex">Global symbol &quot;$foo&quot; requires explicit package name</A>
   	<LI><A HREF="#Can_t_undef_active_subroutine">Can't undef active subroutine</A>
  @@ -6299,8 +6312,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -6358,9 +6372,9 @@
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -<CENTER><H1><A NAME="Client_hit_STOP_or_Netscrape_bit">Client hit STOP or Netscrape bit it!</A></H1></CENTER>
  +<CENTER><H1><A NAME="Client_hit_STOP_or_Netscape_bit_">Client hit STOP or Netscape bit it!</A></H1></CENTER>
   <P>
  -<PRE>  Client hit STOP or Netscrape bit it!
  +<PRE>  Client hit STOP or Netscape bit it!
     Process 2493 going to Apache::exit with status=-2
   </PRE>
   <P>
  @@ -6677,9 +6691,9 @@
   See <A HREF="././performance.html#Choosing_MaxClients">Choosing MaxClients</A>.
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -6698,7 +6712,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/18/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -6793,8 +6807,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -7167,7 +7182,7 @@
   <P>
   Note that we don't use here the second argument to the
   <CODE>handler().</CODE> You might need to provide a <CODE>trans()</CODE>
  -method, since it's very dependant on your server's configuration. See <CODE>perldoc Apache::RegistryLoader</CODE> for the complete information.
  +method, since it's very dependent on your server's configuration. See <CODE>perldoc Apache::RegistryLoader</CODE> for the complete information.
   
   <P>
   You have to check whether it makes any good for you though, I did some
  @@ -7184,7 +7199,7 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H1><A NAME="Avoid_Importing_Functions">Avoid Importing Functions</A></H1></CENTER>
   <P>
  -When possible, avoid importing of a module functions into your namespace.
  +When possible, avoid importing of a module functions into your name space.
   The aliases which are created can take up quite a bit of space. Try to use
   method interfaces and fully qualified Package::function names instead.
   
  @@ -7255,7 +7270,7 @@
   <P>
   Build a debuggable perl to see dumps of the SVs. the simple way to have
   both a normal perl and debuggable perl, is to follow hints in the SUPPORT
  -doc for buildling libperld.a, when that is built copy the `perl' from that
  +doc for building libperld.a, when that is built copy the `perl' from that
   directory to your perl bin directory, but name it `dperl'.
   
   <P>
  @@ -7366,14 +7381,14 @@
   
   <P>
   Most of the major solutions have something that they do better than the
  -others, and each of them has faults. Microsofts ASP has a very nice objects
  -model, and has IMO the best data access object (better than DBI to use -
  -but less portable) It has the worst scripting language. PHP has many of the
  -advantages of Perl-based solutions, but is less complicated for developers.
  -Netscape's Livewire has a good object model too, and provides good
  -server-side Java integration - if you want to leverage Java skills, it's
  -good. Also, it has a compiled scripting language - which is great if you
  -aren't selling your clients the source code (and a pain otherwise).
  +others, and each of them has faults. Microsoft's ASP has a very nice
  +objects model, and has IMO the best data access object (better than DBI to
  +use - but less portable) It has the worst scripting language. PHP has many
  +of the advantages of Perl-based solutions, but is less complicated for
  +developers. Netscape's Livewire has a good object model too, and provides
  +good server-side Java integration - if you want to leverage Java skills,
  +it's good. Also, it has a compiled scripting language - which is great if
  +you aren't selling your clients the source code (and a pain otherwise).
   
   <P>
   mod_perl's advantage is that it is the most powerful. It offers the
  @@ -7501,9 +7516,10 @@
   <CENTER><H2><A NAME="Tuning_with_ab_ApacheBench">Tuning with ab - ApacheBench</A></H2></CENTER>
   <P>
   <STRONG>ab</STRONG> is a tool for benchmarking your Apache HTTP server. It is designed to give
  -you an impression on how performable is your current Apache installation.
  -Particularly it shows you how much requests per secs your Apache server is
  -capable to serve. The <STRONG>ab</STRONG> comes bundled with apache source distribution (and it's free :).
  +you an impression on how much performance your current Apache installation
  +can give. Particularly it shows you how much requests per secs your Apache
  +server is capable to serve. The
  +<STRONG>ab</STRONG> comes bundled with apache source distribution (and it's free :).
   
   <P>
   Lets try it. We will simulate 10 users concurrently requesting the script <CODE>www.you.com:81/test/test.pl</CODE> which a very light one. Each one does it for 10 times.
  @@ -7586,7 +7602,7 @@
   <PRE>  % ./ab -n 1000 -c 50 www-pais:81/perl/access/access.cgi
   </PRE>
   <P>
  -The benchmark timeouted with the above configuration.... I watched the
  +The benchmark time outed with the above configuration.... I watched the
   output of ps as I run it, the parent process just wasn't capable to respawn
   the killed children in that rate...When I raised the MaxRequestsPerChild to
   10 I've got 8.34 req/sec - very bad (18 times slower!) (You can't benchmark
  @@ -7606,7 +7622,7 @@
   </PRE>
   <P>
   I have got 27.12 req/sec, which is better but still 4-5 times slower (133
  -with Maxclients of 50)
  +with MaxClients of 50)
   
   <P>
   <STRONG>Summary:</STRONG> I have tested a few combinations of server configuration variables
  @@ -7647,7 +7663,7 @@
   by each child.
   
   <P>
  -It is important to notice that None of requests timeouted even if was kept
  +It is important to notice that None of requests time outed even if was kept
   in server's queue form more than 1 minute! (That is the way <STRONG>ab</STRONG>
   works, which is OK for the test but will not for the real world - user will
   not wait for more than 5-10 secs for a request to complete, and the browser
  @@ -7694,7 +7710,7 @@
   almost does not matter what is the load we make - the RPS (Requests per
   second) is almost the same (taken that all the requested has been served,
   you have an ability to queue the clients, but be aware that something that
  -goes to queue means a waiting client and browser can get timeouted!)
  +goes to queue means a waiting client and browser can get time outed!)
   
   <P>
   Now we will benchmark the same script without using the mysql (perl only
  @@ -7837,7 +7853,7 @@
   
   <P>
   The tool provides the same results as <STRONG>ab</STRONG> above but it also allows you to set the timeout value, so requests will
  -fail if not served before timeouted. You also get Latency (secs/Request)
  +fail if not served before time outed. You also get Latency (secs/Request)
   and Throughput (Requests/sec) numbers. It can give you a better picture and
   make a complete simulation of your favorite Netscape browser :)
   
  @@ -8013,7 +8029,7 @@
   created. To configure more than 256 clients, you must edit the
   HARD_SERVER_LIMIT entry in httpd.h and recompile. In our case we want to
   set this variable to as little as possible number, this way we can
  -virtually bound the resources used by the server childrens. If we know that
  +virtually bound the resources used by the server children. If we know that
   we have X Mb of RAM, each child consumes a maximum of Y Mb of RAM (we can
   restrict each child See
   <A HREF="././performance.html#Limiting_the_size_of_the_process">Limiting the size of the processes</A>) and we have the all these X Mb dedicated for the webserver. Then
  @@ -8045,7 +8061,7 @@
   
   <P>
   It <STRONG>is</STRONG> an error because clients are being put in the queue rather than getting
  -serviced at once, but thet do not get an error response. The error can be
  +serviced at once, but they do not get an error response. The error can be
   allowed to persist to balance available system resources and response time,
   but sooner or later you will need to get more RAM so you can start more
   children. The best thing is not to have this condition reached at all.
  @@ -8115,7 +8131,7 @@
   concurrent requests is not higher then <CODE>MaxClients</CODE>)
   
   <P>
  -Let me try some numbers. For the heavily loaded website and the dedicated
  +Let me try some numbers. For the heavily loaded web site and the dedicated
   machine I would think of (note 400Mb is just for the show case):
   
   <P>
  @@ -8165,7 +8181,7 @@
   
   <P><LI><STRONG><A NAME="item_MinSpareServers">MinSpareServers</A></STRONG>
   <P>
  -If your server performs other work except webserving, make it low so the
  +If your server performs other work except web serving, make it low so the
   memory will be freed when there is no big load. If you server's load is
   like a wave (you get a load in bursts) and you want a fast respond for all
   clients at any time you will want to make it high, so new children will be
  @@ -8296,14 +8312,14 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H1><A NAME="Why_you_should_not_use_1_unde">Why you should not use $|=1 under mod_perl</A></H1></CENTER>
   <P>
  -As you know <CODE>$1=1</CODE> disables the buffering of the current selected filehandle (default is
  +As you know <CODE>$1=1</CODE> disables the buffering of the current selected file handle (default is
   STDOUT). If you enable it <CODE>ap_rflush()</CODE> is called after each
   <CODE>print(),</CODE> unbuffering Apache's IO.
   
   <P>
   If you are using the _bad_ style of generating the output, by multiply
   <CODE>print()</CODE> calls or you just have too many of them, you will experience a degradation
  -in performance. The severety depends on the number of the calls.
  +in performance. The severity depends on the number of the calls.
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  @@ -8336,9 +8352,9 @@
   using the most time and which subroutines are being called most often.  
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -8357,7 +8373,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/17/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -8384,7 +8400,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <HTML>
   <HEAD>
  -   <TITLE>mod_perl guide: mod_perl Status. Peeking into the Server's Perl Inwards</TITLE>
  +   <TITLE>mod_perl guide: mod_perl Status. Peeking into the Server's Perl Innards</TITLE>
      <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; AIX 4.1) [Netscape]">
      <META NAME="Author" CONTENT="Bekman Stas">
      <META NAME="Description" CONTENT="mod_perl,perl,apache">
  @@ -8403,7 +8419,7 @@
   <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 Status. Peeking into the Server's Perl Inwards</H1>
  +mod_perl Status. Peeking into the Server's Perl Innards</H1>
   <HR WIDTH="100%">
   	    <!-- INDEX BEGIN -->
   <P><A NAME="toc"></A><B><FONT SIZE=-1>Table of Contents:</FONT></B></P>
  @@ -8422,8 +8438,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -8520,9 +8537,9 @@
   menu.
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -8541,7 +8558,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 03/15/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -8603,8 +8620,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -8640,12 +8658,12 @@
   You must run the server in the single mode (with -X) to use Apache::DB.
   
   <P>
  -When you run the script for the first time, you should let it run untill it
  +When you run the script for the first time, you should let it run until it
   finishes. Starting from the second run you can run it as if it was a
   regular perl script. 
   
   <P>
  -Module and Scripts that were preloaded and compiled furing the server
  +Module and Scripts that were preloaded and compiled during the server
   startup will be not debuggable.
   
   <P>
  @@ -8700,7 +8718,7 @@
   </PRE>
   <P>
   Now watch db.out for line:filename info. This is most useful for tracking
  -those core dumps that normally leave us guessing, even with a stacktrace
  +those core dumps that normally leave us guessing, even with a stack trace
   from gdb. db.out will show you what Perl code triggered the core. 'man
   perldebug' for more PERLDB_OPTS. Note, Perl will ignore PERL5OPT if <CODE>PerlTaintCheck</CODE> is <CODE>On</CODE>.
   
  @@ -8708,12 +8726,12 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H1><A NAME="gdb_says_there_are_no_debugging_">gdb says there are no debugging symbols</A></H1></CENTER>
   <P>
  -As you know you need an unstripped executable to be able to debug it. While
  +As you know you need an unstriped executable to be able to debug it. While
   you can compile the mod_perl with <CODE>-g</CODE> the apache
   <CODE>install</CODE> strips the symbols.
   
   <P>
  -Makefile.tmpl contains aline:
  +Makefile.tmpl contains a line:
   
   <P>
   <PRE>  IFLAGS_PROGRAM  = -m 755 -s 
  @@ -8722,9 +8740,9 @@
   Removing the -s does the trick.
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -8743,7 +8761,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/16/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -8810,8 +8828,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -8994,13 +9013,13 @@
   <CENTER><H2><A NAME="Using_aliasing_perl_feature_to_s">Using aliasing perl feature to share global variables</A></H2></CENTER>
   <P>
   As the title says you can import a variable into a script/module without
  -using an Exporter.pm. I have found it usefull to keep all the configuration
  +using an Exporter.pm. I have found it useful to keep all the configuration
   variables in one module <CODE>My::Config</CODE>. But then I have to export all the variables in order to use them in other
  -modules, which is bad for two reasons: polluting other packages' namespaces
  -with extra tags which rise up the memory requirements, adding an overhead
  -of keeping track of what variables should be exported from the config
  -module and what imported for some particular package. I solve this problem
  -by keeping all the variables in one hash <CODE>%c</CODE> and exporting only it. Here is an example of <CODE>My::Config</CODE>:
  +modules, which is bad for two reasons: polluting other packages' name
  +spaces with extra tags which rise up the memory requirements, adding an
  +overhead of keeping track of what variables should be exported from the
  +configuration module and what imported for some particular package. I solve
  +this problem by keeping all the variables in one hash <CODE>%c</CODE> and exporting only it. Here is an example of <CODE>My::Config</CODE>:
   
   <P>
   <PRE>  package My::Config;
  @@ -9059,9 +9078,9 @@
   <PRE>  local *c = \%My::Config::c;
   </PRE>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -9080,7 +9099,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/03/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -9139,8 +9158,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -9164,7 +9184,7 @@
   have a bigger slice than a neighbor ISP.
   
   <P>
  -If you either a user asking for a mod_perl service or an ISP considering to
  +If you are a user asking for a mod_perl service or an ISP considering to
   provide this service, this section should make things clear for both of
   you.
   
  @@ -9178,8 +9198,8 @@
   main server, since it will die very soon for one of the many reasons:
   either sloppy programming, or user testing just updated script which
   probably has some syntax errors and etc, no need to explain why if you are
  -familiar with mod_perl pecularities. The only scripts that <STRONG>CAN BE ALLOWED</STRONG> to use, are the ones that were written by ISP and are not being modified by
  -user (guestbooks, counters and etc - the same standard scripts ISPs
  +familiar with mod_perl peculiarities. The only scripts that <STRONG>CAN BE ALLOWED</STRONG> to use, are the ones that were written by ISP and are not being modified by
  +user (guest books, counters and etc - the same standard scripts ISPs
   providing since they were born). So you have to say <STRONG>NO</STRONG> for this choice.
   
   <P><LI>
  @@ -9221,12 +9241,12 @@
   
   <P>
   If the answer for either of the above question is positive, you are all set
  -and your clients will prise your name for letting them run mod_perl! There
  +and your clients will prize your name for letting them run mod_perl! There
   are tools to restrict resources' usage (See for example man pages for <CODE>ulimit(3)</CODE>, <CODE>getrlimit(2)</CODE>, <CODE>setrlimit(2)</CODE>
   and <CODE>sysconf(3)</CODE> ).
   
   <P>
  -&lt;META&gt; If you have an expirience with some restriction techniques
  +&lt;META&gt; If you have an experience with some restriction techniques
   please share with us. Thank you! &lt;/META&gt;
   
   <P>
  @@ -9244,7 +9264,7 @@
   <P><LI>
   <P>
   Proxy (in a forward or httpd accelerator mode) services for user's virtual
  -host. Since user will have to run her server on unpriviledged port
  +host. Since user will have to run her server on unprivileged port
   (&gt;1024), you will have to forward all requests from
   <CODE>user.given.virtual.hostname:80</CODE> (which is
   <CODE>user.given.virtual.hostname</CODE> without port - 80 is a default) to
  @@ -9268,18 +9288,19 @@
   system and my startup script happen to be run before my rivals! I get the
   port first, now all requests will be redirected to my server and let your
   imagination go wild about what nasty things might happen then. Of course
  -the ugly things will be reveiled pretty soon, but the demage has been done.
  +the ugly things will be revealed pretty soon, but the damage has been done.
   
   </UL>
   <P><LI>
   <P>
  -A much better, but costly solution is <STRONG>co-location</STRONG>. Let user to hook her (or ISP's) standalone machine into your network, and
  -forget about this user. Of course either user or you will have to make all
  -the system administration chores and it will cost your client more money.
  +A much better, but costly solution is <STRONG>co-location</STRONG>. Let user to hook her (or ISP's) stand alone machine into your network,
  +and forget about this user. Of course either user or you will have to make
  +all the system administration chores and it will cost your client more
  +money.
   
   <P>
   All in all, who are the people who seek the mod_perl support? The ones who
  -run serious projects/businesses, who can afford a standalone box, thus
  +run serious projects/businesses, who can afford a stand alone box, thus
   gaining their goal of self autonomy and keeping their ISP happy. So money
   is not an obstacle.
   
  @@ -9306,9 +9327,9 @@
   <A HREF="././config.html#Sometimes_the_script_from_one_vi">Sometimes the script from one virtual host calls a script with the same path from the second virtual host</A>
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -9327,7 +9348,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/17/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -9390,8 +9411,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -9454,7 +9476,7 @@
   <P>
   Now <CODE>$Bin</CODE> includes the path of the directory the script resides on, so you can move
   the script from one directory to the other and call it from anywhere else,
  -the pathes will be always correct.
  +the paths will be always correct.
   
   <P>
   It's different from using the ``./foo'', for you have to chdir to the
  @@ -9597,9 +9619,9 @@
     }
   </PRE>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -9618,7 +9640,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/03/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  @@ -9654,7 +9676,7 @@
   <BODY TEXT="#000000" BGCOLOR="#E0FFFF" LINK="#0000EE" VLINK="#551A8B" ALINK="#FF0000">
   
   <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>
  -Help. Futher Learning</H1>
  +Help. Further Learning</H1>
   
   <P>
   <HR WIDTH="100%"></P>
  @@ -9794,7 +9816,8 @@
   <LI><A HREF="http://www.perl.com/CPAN/doc/FAQs/cgi/perl-cgi-faq.html">Perl/CGI
   FAQ </A></LI>
   
  -<LI><A HREF="http://www.eprotect.com/stas/TULARC/webmaster/myfaq.html">Answers
  +<LI><A
  +HREF="http://www.singlesheaven.com/stas/TULARC/webmaster/myfaq.html">Answers
   to some bothering Perl and Perl/CGI&nbsp;questions</A></LI>
   
   <LI><A HREF="http://www.perl.com/CPAN/doc/FAQs/cgi/idiots-guide.html">Idiot's
  
  
  
  1.11      +29 -28    modperl-site/guide/config.html
  
  Index: config.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/config.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- config.html	1999/04/17 21:44:42	1.10
  +++ config.html	1999/04/19 19:53:29	1.11
  @@ -60,8 +60,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -109,31 +110,31 @@
     Alias /cgi-perl/ /usr/apps/myproject/cgi/
   </PRE>
   <P>
  -Alias provides a mapping of URL to filesystem object.
  +Alias provides a mapping of URL to file system object.
   
   <P>
   Alias defines the start of the URL path to the script you are referencing.
   For example, using the above configuration, fetching
   <STRONG>http://www.you.com/perl/test.pl</STRONG>, will cause the server to look for the file <STRONG>test.pl</STRONG> at <STRONG>/usr/apps/myproject/cgi</STRONG>, and execute it as an <STRONG>Apache::Registry</STRONG> script. The URL
   <STRONG>http://www.you.com/perl/test.pl</STRONG> will be mapped to
  -<STRONG>/usr/apps/myproject/cgi/test.pl</STRONG>. This means you can have all your CGIs located at the same place at
  -filesystem, and call the script in any of three modes simply by changing
  -the directory name component of the URL (cgi-bin|perl|cgi-perl) - is not
  -that cool? (That is the configuration you see above - all three Aliases
  -point to the same directory within your filesystem, but of course they can
  -be different). If your script does not seem to be working while running
  -under mod_perl, you can easily call the script in straight mod_cgi mode
  -without making any script changes (in most cases), but rather by changing
  -the URL you invoke it by.
  +<STRONG>/usr/apps/myproject/cgi/test.pl</STRONG>. This means you can have all your CGIs located at the same place at file
  +system, and call the script in any of three modes simply by changing the
  +directory name component of the URL (cgi-bin|perl|cgi-perl) - is not that
  +cool? (That is the configuration you see above - all three Aliases point to
  +the same directory within your file system, but of course they can be
  +different). If your script does not seem to be working while running under
  +mod_perl, you can easily call the script in straight mod_cgi mode without
  +making any script changes (in most cases), but rather by changing the URL
  +you invoke it by.
   
   <P>
   FYI: for modperl ScriptAlias is the same thing as an Alias command +
   'sethandler cgi-handler'. The latter will be overwritten if you enable
   Apache::Registry. In other words, ``ScriptAlias does not work for
  -mod_perl'', it only appears to work when the additional config is in there.
  -If the Apache::Registry config came before the ScriptAlias, scripts would
  -be run under mod_cgi. While handy, ScriptAlias is a known kludge, always
  -better to use 'Alias' and 'SetHandler'.
  +mod_perl'', it only appears to work when the additional configuration is in
  +there. If the Apache::Registry configuration came before the ScriptAlias,
  +scripts would be run under mod_cgi. While handy, ScriptAlias is a known
  +kludge, always better to use 'Alias' and 'SetHandler'.
   
   <P>
   Of course you can choose any other alias (you will use it later in
  @@ -175,7 +176,7 @@
   <P>
   Remember the <STRONG>Alias</STRONG> from the section above? We must use the same Alias here, if you use
   Location that does not have the same Alias defined in srm.conf, the server
  -will fail to locate the script in the filesystem. (We are talking about
  +will fail to locate the script in the file system. (We are talking about
   script execution here -- there are cases where Location is something that
   is being executed by the server itself, without having the corresponding
   file, like <A HREF="#perl_status">perl-status</A>.)
  @@ -218,9 +219,9 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H1><A NAME="perl_startup_file">perl-startup file</A></H1></CENTER>
   <P>
  -Since many times you have to add many perl directives to the config file,
  -it can be a good idea to put all of these into one file, so the config file
  -will be cleaner, also you can call <STRONG>perl -c perl-startup</STRONG>
  +Since many times you have to add many perl directives to the configuration
  +file, it can be a good idea to put all of these into one file, so the
  +configuration file will be cleaner, also you can call <STRONG>perl -c perl-startup</STRONG>
   to test the file's syntax. What does this take? Add this line to
   httpd.conf:
   
  @@ -265,7 +266,7 @@
   <PRE>  use CGI qw(-compile :all);
   </PRE>
   <P>
  -But the old method is still available for backword compatibility.
  +But the old method is still available for backward compatibility.
   
   <P>
   See also <A HREF="././status.html#Configuration">Apache::Status</A>
  @@ -576,8 +577,8 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H2><A NAME="My_cgi_perl_code_is_being_return">My cgi/perl code is being returned as a plain text instead of being executed by the webserver?</A></H2></CENTER>
   <P>
  -Check your config files and make sure that the ``ExecCGI'' is turned on in
  -your configurations. 
  +Check your configuration files and make sure that the ``ExecCGI'' is turned
  +on in your configurations. 
   
   <P>
   <PRE>  &lt;Location /perl&gt;
  @@ -592,7 +593,7 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H2><A NAME="My_script_works_under_cgi_bin_b">My script works under cgi-bin, but when called via mod_perl I see A 'Save-As' prompt</A></H2></CENTER>
   <P>
  -Did you put <STRONG>PerlSendHeader On</STRONG> in the config part of the &lt;Location foo&gt;&lt;/Location&gt;?
  +Did you put <STRONG>PerlSendHeader On</STRONG> in the configuration part of the &lt;Location foo&gt;&lt;/Location&gt;?
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  @@ -640,9 +641,9 @@
   &lt;File&gt;- section.
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -661,7 +662,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/17/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.12      +17 -15    modperl-site/guide/control.html
  
  Index: control.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/control.html,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- control.html	1999/04/17 21:44:42	1.11
  +++ control.html	1999/04/19 19:53:30	1.12
  @@ -42,8 +42,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -109,7 +110,7 @@
   
   <P>
   That's the moment that the accumulated END{} blocks will be executed! Note
  -that if you use <STRONG>Apache::Registry</STRONG> or <STRONG>Apache::PerRun</STRONG>, then END {} blocks are being executed upon each request (at the end).
  +that if you use <STRONG>Apache::Registry</STRONG> or <STRONG>Apache::PerlRun</STRONG>, then END {} blocks are being executed upon each request (at the end).
   
   <P><DT><STRONG><A NAME="item_HUP">HUP Signal: restart now</A></STRONG><DD>
   <P>
  @@ -119,7 +120,7 @@
   files. Then it spawns a new set of children and continues serving hits.
   
   <P>
  -The server will reread its config files, flush all the compiled and
  +The server will reread its configuration files, flush all the compiled and
   preloaded modules, and rerun any startup files. It's equivalent to
   stopping, then restarting a server.
   
  @@ -233,7 +234,7 @@
   your web server is automatically restarted upon system reboot. Either copy
   the <STRONG>apachectl</STRONG> file to the appropriate location (<CODE>/etc/rc.d/rc3.d/S99apache</CODE> works on my RedHat Linux system) or create a symlink with that name
   pointing to the the canonical location. (If you do this, make certain that
  -the script is writeable only by root -- the startup scripts have root
  +the script is writable only by root -- the startup scripts have root
   privileges during init processing, and you don't want to be opening any
   security holes.)
   
  @@ -580,8 +581,9 @@
   something to POST (redirect looses all the data!).
   
   <P>
  -Second, use a general config module which generates a correct full URL
  -according to REMOTE_USER, so if $ENV{REMOTE_USER} eq 'sbekman', I return <A
  +Second, use a general configuration module which generates a correct full
  +URL according to REMOTE_USER, so if $ENV{REMOTE_USER} eq 'sbekman', I
  +return <A
   HREF="http://ourserver.com:8000/perl/">http://ourserver.com:8000/perl/</A>
   as cgi_base_url. Again this will work if the user is authenticated.
   
  @@ -609,9 +611,9 @@
   environment of the server, by first deleting the environment variables like
   PERL5LIB and calling the same perl binary that it's being used by the
   server. Next, set the environment identical to the server's by copying the
  -perl run directives from server startup and config files. It'll also allow
  -you to remove completely the first line of the script - since mod_perl
  -skips it and the wrapper knows how to call the script.
  +perl run directives from server startup and configuration files. It'll also
  +allow you to remove completely the first line of the script - since
  +mod_perl skips it and the wrapper knows how to call the script.
   
   <P>
   Below is the example of such a script. Note that we force the -Tw when we
  @@ -856,7 +858,7 @@
   It seems that his script will trigger restart every minute, since once the
   logfile grows to be of 100000 lines, it'll stay of this size, unless you
   remove or rename it, before you do restart. On my server I run a watchdog
  -every five minutes which restarts the server if it's getting stucked (it
  +every five minutes which restarts the server if it's getting stuck (it
   always works since when some modperl child process goes wild, the I/O it
   causes is so heavy that other brother processes can't normally to serve the
   requests.) See <A HREF="././control.html#Monitoring_the_Server_A_watchdo">Monitoring the Server</A> for more hints.
  @@ -877,9 +879,9 @@
     `-----
   </PRE>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -898,7 +900,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/03/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.10      +12 -11    modperl-site/guide/debug.html
  
  Index: debug.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/debug.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- debug.html	1999/04/17 21:44:43	1.9
  +++ debug.html	1999/04/19 19:53:31	1.10
  @@ -38,8 +38,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -77,12 +78,12 @@
   You must run the server in the single mode (with -X) to use Apache::DB.
   
   <P>
  -When you run the script for the first time, you should let it run untill it
  +When you run the script for the first time, you should let it run until it
   finishes. Starting from the second run you can run it as if it was a
   regular perl script. 
   
   <P>
  -Module and Scripts that were preloaded and compiled furing the server
  +Module and Scripts that were preloaded and compiled during the server
   startup will be not debuggable.
   
   <P>
  @@ -137,7 +138,7 @@
   </PRE>
   <P>
   Now watch db.out for line:filename info. This is most useful for tracking
  -those core dumps that normally leave us guessing, even with a stacktrace
  +those core dumps that normally leave us guessing, even with a stack trace
   from gdb. db.out will show you what Perl code triggered the core. 'man
   perldebug' for more PERLDB_OPTS. Note, Perl will ignore PERL5OPT if <CODE>PerlTaintCheck</CODE> is <CODE>On</CODE>.
   
  @@ -145,12 +146,12 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H1><A NAME="gdb_says_there_are_no_debugging_">gdb says there are no debugging symbols</A></H1></CENTER>
   <P>
  -As you know you need an unstripped executable to be able to debug it. While
  +As you know you need an unstriped executable to be able to debug it. While
   you can compile the mod_perl with <CODE>-g</CODE> the apache
   <CODE>install</CODE> strips the symbols.
   
   <P>
  -Makefile.tmpl contains aline:
  +Makefile.tmpl contains a line:
   
   <P>
   <PRE>  IFLAGS_PROGRAM  = -m 755 -s 
  @@ -159,9 +160,9 @@
   Removing the -s does the trick.
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -180,7 +181,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/16/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.3       +6 -5      modperl-site/guide/frequent.html
  
  Index: frequent.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/frequent.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- frequent.html	1999/04/17 21:44:43	1.2
  +++ frequent.html	1999/04/19 19:53:31	1.3
  @@ -36,8 +36,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -71,9 +72,9 @@
   
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  
  
  
  1.3       +532 -577  modperl-site/guide/guide-src.tar.gz
  
  	<<Binary file>>
  
  
  1.4       +833 -881  modperl-site/guide/guide.tar.gz
  
  	<<Binary file>>
  
  
  1.10      +3 -2      modperl-site/guide/help.html
  
  Index: help.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/help.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- help.html	1999/04/17 21:44:43	1.9
  +++ help.html	1999/04/19 19:53:36	1.10
  @@ -11,7 +11,7 @@
   
   
   <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>
  -Help. Futher Learning</H1>
  +Help. Further Learning</H1>
   
   
   <P>
  @@ -192,7 +192,8 @@
   FAQ </A></LI>
   
   
  -<LI><A HREF="http://www.eprotect.com/stas/TULARC/webmaster/myfaq.html">Answers
  +<LI><A
  +HREF="http://www.singlesheaven.com/stas/TULARC/webmaster/myfaq.html">Answers
   to some bothering Perl and Perl/CGI&nbsp;questions</A></LI>
   
   
  
  
  
  1.13      +22 -23    modperl-site/guide/index.html
  
  Index: index.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/index.html,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- index.html	1999/04/17 21:47:09	1.12
  +++ index.html	1999/04/19 19:53:37	1.13
  @@ -11,11 +11,11 @@
   <H1 ALIGN=CENTER>Mod Perl Developer's Guide</H1>
   
   
  -<CENTER><P><B>Deploying apache/mod_perl accelerator to give a rocket speed
  +<CENTER><P><B>Deploying mod_perl technology to give a rocket speed
   to your perl cgi-bin scripts.</B></P></CENTER>
   
   
  -<CENTER><P><B>Version 1.09 Apr, 17 1999</B></P></CENTER>
  +<CENTER><P><B>Version 1.09 (+1/2) Apr, 19 1999</B></P></CENTER>
    
   <P>
   <HR WIDTH="100%"></P>
  @@ -55,7 +55,7 @@
   <LI><A HREF="performance.html">Performance. Benchmarks.</A> </LI>
   
   
  -<LI><A HREF="status.html">mod_perl Status. Peeking into the Server's Perl Inwards</A></LI>
  +<LI><A HREF="status.html">mod_perl Status. Peeking into the Server's Perl Innards</A></LI>
   
   
   <LI><A HREF="debug.html">Debugging mod_perl</A></LI>
  @@ -77,6 +77,9 @@
   <LI><A HREF="help.html">Help. Further Learning.</A></LI>
   
   
  +<LI> <HR WIDTH=200 SIZE=5 ALIGN="left">
  +
  +
   <LI><A HREF="all.html">Guide All in One. Ready for Printing</A></LI>
   
   
  @@ -95,37 +98,33 @@
   
   
   <HR>
  +<P>
  +
  +
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
  +	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
  +	     and <a
  +	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  +	     Amazon.com</a>.
  +<HR>
   <CENTER>
  -<TABLE BORDER=5 CELLSPACING=8 CELLPADDING=8 >
  +<TABLE BORDER=10 CELLSPACING=2 CELLPADDING=8 >
   <TR BGCOLOR="gray" ALIGN=CENTER VALIGN=TOP>
   <TD ALIGN=CENTER VALIGN=TOP>
  -<FONT COLOR=WHITE SIZE=+1>
  -<A NAME="SEARCH">Search perl.apache.org along with this guide</A>
  +<FONT COLOR=WHITE>
  +<A NAME="SEARCH">Search perl.apache.org along with this guide.</A>
   <FORM ACTION="http://search.apache.org/" METHOD="POST">
  -<INPUT TYPE="text" NAME="keyword" SIZE=40>
  +<INPUT TYPE="text" NAME="keyword" value="" SIZE=15>
   <input type="hidden" name="what" value="perl">
  -<BR>
  -Maximum number of records to return: 
  -<select name="results">
  -<option value=20>20
  -<option value=40>40
  -<option value=60>60
  -</select>
  +<input type="hidden" name="results" value=40>
   <INPUT TYPE="submit" VALUE="Search">
   </FORM>
   </FONT>
   </TD></TR>
   </TABLE>
   </CENTER>
  -
  -<P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  -	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
  -	     and <a
  -	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  -	     Amazon.com</a>.
   
   
   <CENTER><TABLE CELLSPACING=2 CELLPADDING=2 WIDTH="100%" >
  
  
  
  1.2       +17 -16    modperl-site/guide/modules.html
  
  Index: modules.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/modules.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- modules.html	1999/04/17 21:44:43	1.1
  +++ modules.html	1999/04/19 19:53:38	1.2
  @@ -52,8 +52,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -102,8 +103,8 @@
   </PRE>
   <P>
   After setting this up, you can stick anything you want into
  -<CODE>%session</CODE> (except filehandles), and it will still be there when
  -the user invokes the next page.
  +<CODE>%session</CODE> (except file handles), and it will still be there
  +when the user invokes the next page.
   
   <P>
   It is possible to write an Apache authen handler using Apache::Session. You
  @@ -115,8 +116,8 @@
   As for IIS, let's compare. IIS's sessions are only valid on the same web
   server as the one that issued the session. Apache::Session's session
   objects can be shared amongst a farm of many machines running different
  -operating sytems, including even Win32. IIS stores session infomation in
  -RAM. Apache::Session stores sessions in databases, filesystems, or RAM.
  +operating systems, including even Win32. IIS stores session information in
  +RAM. Apache::Session stores sessions in databases, file systems, or RAM.
   IIS's sessions are only good for storing scalars or arrays.
   Apache::Session's sessions allow you to store arbitrarily complex objects.
   IIS sets up the session and automatically tracks it for you. With
  @@ -156,8 +157,8 @@
   with a NOP.
   
   <P>
  -You want to use this module if you are opening a <STRONG>few</STRONG> DB connections to the server. <CODE>Apache::DBI</CODE> will make them persistant per child, so if you have 10 children and each
  -opens 2 different connections you will have in total 20 opened persistant
  +You want to use this module if you are opening a <STRONG>few</STRONG> DB connections to the server. <CODE>Apache::DBI</CODE> will make them persistent per child, so if you have 10 children and each
  +opens 2 different connections you will have in total 20 opened persistent
   connections. Thus after initial connect you will save up the connection
   time for every connect request from your DBI module. Which is a huge
   benefit for the mod_perl apache server with high traffic of users deploying
  @@ -165,7 +166,7 @@
   
   <P>
   As you understand you must NOT use this module if you are opening a special
  -connection for each of your users, since each of them will stay persistant
  +connection for each of your users, since each of them will stay persistent
   and in a short time the number of connections will be so big that your
   machine will scream and die. If you want to use
   <CODE>Apache::DBI</CODE> in both situations, as of this moment the only available solution is to run
  @@ -219,8 +220,8 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H2><A NAME="Debugging_Apache_DBI">Debugging Apache::DBI</A></H2></CENTER>
   <P>
  -If you are not sure this module is working as advertisized, you should
  -enable the Debug mode in the startup script by:
  +If you are not sure this module is working as advertised, you should enable
  +the Debug mode in the startup script by:
   
   <P>
   <PRE>  $Apache::DBI::DEBUG = 1;
  @@ -253,7 +254,7 @@
   <CENTER><H3><A NAME="The_morning_bug">The morning bug</A></H3></CENTER>
   <P>
   SQL server keeps the connection to the client open for a limited period of
  -time. So many developers were hitten by so called <STRONG>Morning
  +time. So many developers were bitten by so called <STRONG>Morning
   bug</STRONG> when every morning the first users to use the site were receiving: <CODE>No Data Returned</CODE> message, but then everything worked as usual. The error caused by <CODE>Apache::DBI</CODE> returning a handle of the invalid connection (server closed it because of
   timeout), and the script was dying on that error. The infamous and well
   documented in the man page, <CODE>ping()</CODE> method was introduced to solve this problem. But seems that people are
  @@ -329,9 +330,9 @@
   . (replace x.xx with the current version)
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -350,7 +351,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/16/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.2       +19 -17    modperl-site/guide/multiuser.html
  
  Index: multiuser.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/multiuser.html,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- multiuser.html	1999/04/17 21:44:43	1.1
  +++ multiuser.html	1999/04/19 19:53:38	1.2
  @@ -35,8 +35,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -60,7 +61,7 @@
   have a bigger slice than a neighbor ISP.
   
   <P>
  -If you either a user asking for a mod_perl service or an ISP considering to
  +If you are a user asking for a mod_perl service or an ISP considering to
   provide this service, this section should make things clear for both of
   you.
   
  @@ -74,8 +75,8 @@
   main server, since it will die very soon for one of the many reasons:
   either sloppy programming, or user testing just updated script which
   probably has some syntax errors and etc, no need to explain why if you are
  -familiar with mod_perl pecularities. The only scripts that <STRONG>CAN BE ALLOWED</STRONG> to use, are the ones that were written by ISP and are not being modified by
  -user (guestbooks, counters and etc - the same standard scripts ISPs
  +familiar with mod_perl peculiarities. The only scripts that <STRONG>CAN BE ALLOWED</STRONG> to use, are the ones that were written by ISP and are not being modified by
  +user (guest books, counters and etc - the same standard scripts ISPs
   providing since they were born). So you have to say <STRONG>NO</STRONG> for this choice.
   
   <P><LI>
  @@ -117,12 +118,12 @@
   
   <P>
   If the answer for either of the above question is positive, you are all set
  -and your clients will prise your name for letting them run mod_perl! There
  +and your clients will prize your name for letting them run mod_perl! There
   are tools to restrict resources' usage (See for example man pages for <CODE>ulimit(3)</CODE>, <CODE>getrlimit(2)</CODE>, <CODE>setrlimit(2)</CODE>
   and <CODE>sysconf(3)</CODE> ).
   
   <P>
  -&lt;META&gt; If you have an expirience with some restriction techniques
  +&lt;META&gt; If you have an experience with some restriction techniques
   please share with us. Thank you! &lt;/META&gt;
   
   <P>
  @@ -140,7 +141,7 @@
   <P><LI>
   <P>
   Proxy (in a forward or httpd accelerator mode) services for user's virtual
  -host. Since user will have to run her server on unpriviledged port
  +host. Since user will have to run her server on unprivileged port
   (&gt;1024), you will have to forward all requests from
   <CODE>user.given.virtual.hostname:80</CODE> (which is
   <CODE>user.given.virtual.hostname</CODE> without port - 80 is a default) to
  @@ -164,18 +165,19 @@
   system and my startup script happen to be run before my rivals! I get the
   port first, now all requests will be redirected to my server and let your
   imagination go wild about what nasty things might happen then. Of course
  -the ugly things will be reveiled pretty soon, but the demage has been done.
  +the ugly things will be revealed pretty soon, but the damage has been done.
   
   </UL>
   <P><LI>
   <P>
  -A much better, but costly solution is <STRONG>co-location</STRONG>. Let user to hook her (or ISP's) standalone machine into your network, and
  -forget about this user. Of course either user or you will have to make all
  -the system administration chores and it will cost your client more money.
  +A much better, but costly solution is <STRONG>co-location</STRONG>. Let user to hook her (or ISP's) stand alone machine into your network,
  +and forget about this user. Of course either user or you will have to make
  +all the system administration chores and it will cost your client more
  +money.
   
   <P>
   All in all, who are the people who seek the mod_perl support? The ones who
  -run serious projects/businesses, who can afford a standalone box, thus
  +run serious projects/businesses, who can afford a stand alone box, thus
   gaining their goal of self autonomy and keeping their ISP happy. So money
   is not an obstacle.
   
  @@ -210,9 +212,9 @@
   
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -231,7 +233,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/17/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.10      +17 -16    modperl-site/guide/obvious.html
  
  Index: obvious.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/obvious.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- obvious.html	1999/04/17 21:44:44	1.9
  +++ obvious.html	1999/04/19 19:53:39	1.10
  @@ -56,8 +56,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -77,7 +78,7 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H2><A NAME="The_poison">The poison</A></H2></CENTER>
   <P>
  -In a non modperl script (standalone or CGI), there is no problem writing
  +In a non modperl script (stand alone or CGI), there is no problem writing
   code like this:
   
   <P>
  @@ -103,13 +104,12 @@
     }
   </PRE>
   <P>
  -Now printit is an inner named subroutine. Because it is referencing a
  -lexical variable from an enclosing scope, a closure is created.
  +Now <CODE>printit</CODE> is an inner named subroutine. Because it is referencing a lexical variable
  +from an enclosing scope, a closure is created.
   
   <P>
   The first time the script is run, the correct value of <CODE>$x</CODE> will
  -be printed. However on subsequent runs, printit will retain the initial
  -value of <CODE>$x</CODE> -- not what you want.
  +be printed. However on subsequent runs, <CODE>printit</CODE> will retain the initial value of <CODE>$x</CODE> -- not what you want.
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  @@ -122,7 +122,8 @@
   </PRE>
   <P>
   NOTE: Subroutines defined inside <STRONG>BEGIN{}</STRONG> and <STRONG>END{}</STRONG> cannot trigger this message, since each <STRONG>BEGIN{}</STRONG> and <STRONG>END{}</STRONG> is defined to be called exactly once. (To understand why, read about the
  -closures at perlref or perlfaq 13.12)
  +closures at
  +<CODE>perlref</CODE> or <CODE>perlfaq</CODE> 13.12)
   
   <P>
   PERLDIAG manpage says:
  @@ -217,8 +218,7 @@
   The situation is different with Apache::Registry, since the whole idea is
   to get maximum performance from the server. By default, the server won't
   spend the time to check whether any included library modules have been
  -changed. It assumes that they weren't, thus saving a few millisecs to stat
  -the source file (multiplied by however many modules/libraries you are
  +changed. It assumes that they weren't, thus saving a few milliseconds to <CODE>stat()</CODE> the source file (multiplied by however many modules/libraries you are
   <STRONG>use</STRONG>/<STRONG>require</STRONG>-ing in your script.) The only check that is being done is whether your
   main script has been changed. So if you have only one script that doesn't <STRONG>use</STRONG> (or <STRONG>require</STRONG>) other perl modules (or packages), there is nothing new about it. If
   however, you are developing a script that includes other modules, the files
  @@ -717,7 +717,8 @@
   </PRE>
   <P>
   Hey, where is the beginning of the path? There is another Apache parameter
  -called <CODE>ServerRoot</CODE>. Everytime apache sees a value of the parameter with no absolute path (e.g <CODE>/tmp/my.txt</CODE>) but with relative path (e.g <CODE>my.txt</CODE>) it prepends the value of the <CODE>ServerRoot</CODE> to this value. I have:
  +called <CODE>ServerRoot</CODE>. Every time apache sees a value of the parameter with no absolute path
  +(e.g <CODE>/tmp/my.txt</CODE>) but with relative path (e.g <CODE>my.txt</CODE>) it prepends the value of the <CODE>ServerRoot</CODE> to this value. I have:
   
   <P>
   <PRE>  ServerRoot /usr/local/apache
  @@ -725,7 +726,7 @@
   <P>
   So I will look for error_log file at
   <CODE>/usr/local/apache/var/logs/error_log</CODE>. Of course you can also use an absolute path to define the file's location
  -at the filesystem.
  +at the file system.
   
   <P>
   &lt;META&gt;: is this 100% correct?
  @@ -753,9 +754,9 @@
   &lt;/META&gt;
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -774,7 +775,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/17/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.12      +33 -31    modperl-site/guide/performance.html
  
  Index: performance.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/performance.html,v
  retrieving revision 1.11
  retrieving revision 1.12
  diff -u -r1.11 -r1.12
  --- performance.html	1999/04/17 21:44:44	1.11
  +++ performance.html	1999/04/19 19:53:40	1.12
  @@ -71,8 +71,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -450,7 +451,7 @@
   <P>
   Note that we don't use here the second argument to the
   <CODE>handler().</CODE> You might need to provide a <CODE>trans()</CODE>
  -method, since it's very dependant on your server's configuration. See <CODE>perldoc Apache::RegistryLoader</CODE> for the complete information.
  +method, since it's very dependent on your server's configuration. See <CODE>perldoc Apache::RegistryLoader</CODE> for the complete information.
   
   <P>
   You have to check whether it makes any good for you though, I did some
  @@ -469,7 +470,7 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H1><A NAME="Avoid_Importing_Functions">Avoid Importing Functions</A></H1></CENTER>
   <P>
  -When possible, avoid importing of a module functions into your namespace.
  +When possible, avoid importing of a module functions into your name space.
   The aliases which are created can take up quite a bit of space. Try to use
   method interfaces and fully qualified Package::function names instead.
   
  @@ -544,7 +545,7 @@
   <P>
   Build a debuggable perl to see dumps of the SVs. the simple way to have
   both a normal perl and debuggable perl, is to follow hints in the SUPPORT
  -doc for buildling libperld.a, when that is built copy the `perl' from that
  +doc for building libperld.a, when that is built copy the `perl' from that
   directory to your perl bin directory, but name it `dperl'.
   
   <P>
  @@ -658,14 +659,14 @@
   
   <P>
   Most of the major solutions have something that they do better than the
  -others, and each of them has faults. Microsofts ASP has a very nice objects
  -model, and has IMO the best data access object (better than DBI to use -
  -but less portable) It has the worst scripting language. PHP has many of the
  -advantages of Perl-based solutions, but is less complicated for developers.
  -Netscape's Livewire has a good object model too, and provides good
  -server-side Java integration - if you want to leverage Java skills, it's
  -good. Also, it has a compiled scripting language - which is great if you
  -aren't selling your clients the source code (and a pain otherwise).
  +others, and each of them has faults. Microsoft's ASP has a very nice
  +objects model, and has IMO the best data access object (better than DBI to
  +use - but less portable) It has the worst scripting language. PHP has many
  +of the advantages of Perl-based solutions, but is less complicated for
  +developers. Netscape's Livewire has a good object model too, and provides
  +good server-side Java integration - if you want to leverage Java skills,
  +it's good. Also, it has a compiled scripting language - which is great if
  +you aren't selling your clients the source code (and a pain otherwise).
   
   <P>
   mod_perl's advantage is that it is the most powerful. It offers the
  @@ -796,9 +797,10 @@
   <CENTER><H2><A NAME="Tuning_with_ab_ApacheBench">Tuning with ab - ApacheBench</A></H2></CENTER>
   <P>
   <STRONG>ab</STRONG> is a tool for benchmarking your Apache HTTP server. It is designed to give
  -you an impression on how performable is your current Apache installation.
  -Particularly it shows you how much requests per secs your Apache server is
  -capable to serve. The <STRONG>ab</STRONG> comes bundled with apache source distribution (and it's free :).
  +you an impression on how much performance your current Apache installation
  +can give. Particularly it shows you how much requests per secs your Apache
  +server is capable to serve. The
  +<STRONG>ab</STRONG> comes bundled with apache source distribution (and it's free :).
   
   <P>
   Lets try it. We will simulate 10 users concurrently requesting the script <CODE>www.you.com:81/test/test.pl</CODE> which a very light one. Each one does it for 10 times.
  @@ -881,7 +883,7 @@
   <PRE>  % ./ab -n 1000 -c 50 www-pais:81/perl/access/access.cgi
   </PRE>
   <P>
  -The benchmark timeouted with the above configuration.... I watched the
  +The benchmark time outed with the above configuration.... I watched the
   output of ps as I run it, the parent process just wasn't capable to respawn
   the killed children in that rate...When I raised the MaxRequestsPerChild to
   10 I've got 8.34 req/sec - very bad (18 times slower!) (You can't benchmark
  @@ -901,7 +903,7 @@
   </PRE>
   <P>
   I have got 27.12 req/sec, which is better but still 4-5 times slower (133
  -with Maxclients of 50)
  +with MaxClients of 50)
   
   <P>
   <STRONG>Summary:</STRONG> I have tested a few combinations of server configuration variables
  @@ -942,7 +944,7 @@
   by each child.
   
   <P>
  -It is important to notice that None of requests timeouted even if was kept
  +It is important to notice that None of requests time outed even if was kept
   in server's queue form more than 1 minute! (That is the way <STRONG>ab</STRONG>
   works, which is OK for the test but will not for the real world - user will
   not wait for more than 5-10 secs for a request to complete, and the browser
  @@ -989,7 +991,7 @@
   almost does not matter what is the load we make - the RPS (Requests per
   second) is almost the same (taken that all the requested has been served,
   you have an ability to queue the clients, but be aware that something that
  -goes to queue means a waiting client and browser can get timeouted!)
  +goes to queue means a waiting client and browser can get time outed!)
   
   <P>
   Now we will benchmark the same script without using the mysql (perl only
  @@ -1132,7 +1134,7 @@
   
   <P>
   The tool provides the same results as <STRONG>ab</STRONG> above but it also allows you to set the timeout value, so requests will
  -fail if not served before timeouted. You also get Latency (secs/Request)
  +fail if not served before time outed. You also get Latency (secs/Request)
   and Throughput (Requests/sec) numbers. It can give you a better picture and
   make a complete simulation of your favorite Netscape browser :)
   
  @@ -1308,7 +1310,7 @@
   created. To configure more than 256 clients, you must edit the
   HARD_SERVER_LIMIT entry in httpd.h and recompile. In our case we want to
   set this variable to as little as possible number, this way we can
  -virtually bound the resources used by the server childrens. If we know that
  +virtually bound the resources used by the server children. If we know that
   we have X Mb of RAM, each child consumes a maximum of Y Mb of RAM (we can
   restrict each child See
   <A HREF="././performance.html#Limiting_the_size_of_the_process">Limiting the size of the processes</A>) and we have the all these X Mb dedicated for the webserver. Then
  @@ -1340,7 +1342,7 @@
   
   <P>
   It <STRONG>is</STRONG> an error because clients are being put in the queue rather than getting
  -serviced at once, but thet do not get an error response. The error can be
  +serviced at once, but they do not get an error response. The error can be
   allowed to persist to balance available system resources and response time,
   but sooner or later you will need to get more RAM so you can start more
   children. The best thing is not to have this condition reached at all.
  @@ -1410,7 +1412,7 @@
   concurrent requests is not higher then <CODE>MaxClients</CODE>)
   
   <P>
  -Let me try some numbers. For the heavily loaded website and the dedicated
  +Let me try some numbers. For the heavily loaded web site and the dedicated
   machine I would think of (note 400Mb is just for the show case):
   
   <P>
  @@ -1460,7 +1462,7 @@
   
   <P><LI><STRONG><A NAME="item_MinSpareServers">MinSpareServers</A></STRONG>
   <P>
  -If your server performs other work except webserving, make it low so the
  +If your server performs other work except web serving, make it low so the
   memory will be freed when there is no big load. If you server's load is
   like a wave (you get a load in bursts) and you want a fast respond for all
   clients at any time you will want to make it high, so new children will be
  @@ -1591,14 +1593,14 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H1><A NAME="Why_you_should_not_use_1_unde">Why you should not use $|=1 under mod_perl</A></H1></CENTER>
   <P>
  -As you know <CODE>$1=1</CODE> disables the buffering of the current selected filehandle (default is
  +As you know <CODE>$1=1</CODE> disables the buffering of the current selected file handle (default is
   STDOUT). If you enable it <CODE>ap_rflush()</CODE> is called after each
   <CODE>print(),</CODE> unbuffering Apache's IO.
   
   <P>
   If you are using the _bad_ style of generating the output, by multiply
   <CODE>print()</CODE> calls or you just have too many of them, you will experience a degradation
  -in performance. The severety depends on the number of the calls.
  +in performance. The severity depends on the number of the calls.
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  @@ -1631,9 +1633,9 @@
   using the most time and which subroutines are being called most often.  
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -1652,7 +1654,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/17/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.3       +13 -12    modperl-site/guide/perl.html
  
  Index: perl.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/perl.html,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- perl.html	1999/04/17 21:44:44	1.2
  +++ perl.html	1999/04/19 19:53:41	1.3
  @@ -43,8 +43,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -227,13 +228,13 @@
   <CENTER><H2><A NAME="Using_aliasing_perl_feature_to_s">Using aliasing perl feature to share global variables</A></H2></CENTER>
   <P>
   As the title says you can import a variable into a script/module without
  -using an Exporter.pm. I have found it usefull to keep all the configuration
  +using an Exporter.pm. I have found it useful to keep all the configuration
   variables in one module <CODE>My::Config</CODE>. But then I have to export all the variables in order to use them in other
  -modules, which is bad for two reasons: polluting other packages' namespaces
  -with extra tags which rise up the memory requirements, adding an overhead
  -of keeping track of what variables should be exported from the config
  -module and what imported for some particular package. I solve this problem
  -by keeping all the variables in one hash <CODE>%c</CODE> and exporting only it. Here is an example of <CODE>My::Config</CODE>:
  +modules, which is bad for two reasons: polluting other packages' name
  +spaces with extra tags which rise up the memory requirements, adding an
  +overhead of keeping track of what variables should be exported from the
  +configuration module and what imported for some particular package. I solve
  +this problem by keeping all the variables in one hash <CODE>%c</CODE> and exporting only it. Here is an example of <CODE>My::Config</CODE>:
   
   <P>
   <PRE>  package My::Config;
  @@ -292,9 +293,9 @@
   <PRE>  local *c = \%My::Config::c;
   </PRE>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -313,7 +314,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/03/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.13      +28 -22    modperl-site/guide/porting.html
  
  Index: porting.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/porting.html,v
  retrieving revision 1.12
  retrieving revision 1.13
  diff -u -r1.12 -r1.13
  --- porting.html	1999/04/17 21:44:44	1.12
  +++ porting.html	1999/04/19 19:53:41	1.13
  @@ -34,7 +34,7 @@
   		<LI><A HREF="#What_s_different_about_modperl">What's different about modperl</A>
   		<UL>
   
  -			<LI><A HREF="#Script_s_namespace">Script's namespace</A>
  +			<LI><A HREF="#Script_s_name_space">Script's name space</A>
   			<LI><A HREF="#Name_collisions_with_Modules_and">Name collisions with Modules and libs</A>
   			<LI><A HREF="#_END_or_DATA_tokens">__END__ or __DATA__ tokens</A>
   			<LI><A HREF="#Output_from_system_calls">Output from system calls</A>
  @@ -73,8 +73,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -157,10 +158,10 @@
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -<CENTER><H3><A NAME="Script_s_namespace">Script's namespace</A></H3></CENTER>
  +<CENTER><H3><A NAME="Script_s_name_space">Script's name space</A></H3></CENTER>
   <P>
  -Scripts under Apache::Registry do not run in package <STRONG>main</STRONG>, they run in a unique namespace based on the requested uri. For example,
  -if your uri is <STRONG>/perl/test.pl</STRONG> the package will be called 
  +Scripts under Apache::Registry do not run in package <STRONG>main</STRONG>, they run in a unique name space based on the requested URI. For example,
  +if your URI is <STRONG>/perl/test.pl</STRONG> the package will be called 
   <STRONG>Apache::ROOT::perl::test_2epl;</STRONG>
   
   
  @@ -298,7 +299,7 @@
   </PRE>
   <P>
   But then you lose portability! (I mean if you move the tool around in the
  -filesystem you will have to change the base dir)
  +file system you will have to change the base dir)
   
   <P><LI>
   <P>
  @@ -645,9 +646,9 @@
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
   <CENTER><H2><A NAME="Turning_warnings_ON">Turning warnings ON</A></H2></CENTER>
   <P>
  -Have a <CODE>$^W=1</CODE> in the script or PerlWarn ON at the server config file. Turning the warning
  -on will save you a lot of troubles with debugging your code. Note that
  -first magic line <CODE>#!/perl -switches</CODE>
  +Have a <CODE>$^W=1</CODE> in the script or PerlWarn ON at the server configuration file. Turning the
  +warning on will save you a lot of troubles with debugging your code. Note
  +that first magic line <CODE>#!/perl -switches</CODE>
   is ignored by mod_perl, so too are the switches you used to write there.
   
   <P>
  @@ -1023,9 +1024,9 @@
   reasons, such as user aborted script (<A HREF="././obvious.html#Handling_the_User_pressed_Stop_">Handling the 'User pressed Stop button' case</A>) the leakage is still there.
   
   <P>
  -What do we do? We use <CODE>IO::File</CODE> (and other <CODE>IO::*</CODE>), which allows us to assign the filehandler to variable, which can be <CODE>my()</CODE>
  -scoped. And when this variable goes out of scope the file or other
  -filesystem entity will be preperly closed and unlocked (if was locked).
  +What do we do? We use <CODE>IO::File</CODE> (and other <CODE>IO::*</CODE>), which allows us to assign the file handler to variable, which can be <CODE>my()</CODE>
  +scoped. And when this variable goes out of scope the file or other file
  +system entity will be properly closed and unlocked (if was locked).
   
   <P>
   <PRE>  {
  @@ -1175,7 +1176,7 @@
   write scripts that run under CGI or mod_perl without any change. Unlike
   Apache::Registry, the Apache::PerlRun handler does not cache the script
   inside of a subroutine. Scripts will be ``compiled'' on each request. After
  -the script has run, its namespace is flushed of all variables and
  +the script has run, its name space is flushed of all variables and
   subroutines. Still, you don't have the overhead of loading the perl and
   compilation time of the standard modules (If your script is very light, but
   uses lots of standard modules - you will see no difference between
  @@ -1186,8 +1187,8 @@
   have circular references, they will be not flushed!!!
   
   <P>
  -Apache::PerlRun only flushes your script's namespace, which does not
  -include any other required packages' namespaces. If there's a reference to
  +Apache::PerlRun only flushes your script's name space, which does not
  +include any other required packages' name spaces. If there's a reference to
   a <STRONG>my()</STRONG> scoped variable that's keeping it from being DESTROYed after leaving the
   eval scope (of Apache::PerlRun), that cleanup might not be taken care of
   until the server is shutdown and <CODE>perl_destruct()</CODE> is run, which
  @@ -1252,9 +1253,14 @@
   <P>
   <PRE>  # assign the DIE sighandler to call mydie(error_message) whenever a
     # die() sub is being called. Can be added anywhere in the code.
  -  $SIG{'__DIE__'} = \&amp;mydie;
  +  local $SIG{'__DIE__'} = \&amp;mydie;
     
  -  # and the handler itself
  +Do not forget the C&lt;local()&gt;, unless you want this signal handler to
  +be invoked every time any scripts dies (Even those where this
  +treatment is undesirable)
  +</PRE>
  +<P>
  +<PRE>  # and the handler itself
     sub mydie{
       my $why = shift;
     
  @@ -1367,9 +1373,9 @@
   it.
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -1388,7 +1394,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/03/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.11      +46 -45    modperl-site/guide/scenario.html
  
  Index: scenario.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/scenario.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- scenario.html	1999/04/17 21:44:44	1.10
  +++ scenario.html	1999/04/19 19:53:42	1.11
  @@ -66,8 +66,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -234,8 +235,8 @@
           --enable-module=include --enable-module=rewrite 
   </PRE>
   <P>
  -Note: add --layout to see the resulting dirs layout without actually making
  -the configuration.
  +Note: add --layout to see the resulting directories' layout without
  +actually making the configuration.
   
   <P><DT><STRONG><A NAME="item_Compilation">Compilation:</A></STRONG><DD>
   <P>
  @@ -338,7 +339,7 @@
   
   <P>
   While doing <CODE>perl Makefile.PL ...</CODE> mod_perl might complain by warning you about missing <CODE>libgdbm</CODE>. Users reported that it is actually crucial, and you must have it in order
  -to sucessfully complete the mod_perl build process.
  +to successfully complete the mod_perl build process.
   
   <P>
   Rename the 'httpd' to 'httpd_perl'
  @@ -392,10 +393,10 @@
   
   <P><LI>
   <P>
  -1 DSO style compile and 2 confs (Dynamic linking lets you compile once and
  -have a big and a small binary in memory BUT you have to deal with a freshly
  -made solution that has week documentation and is still subject to change
  -and is rather more complex)
  +1 DSO style compile and 2 configs (Dynamic linking lets you compile once
  +and have a big and a small binary in memory BUT you have to deal with a
  +freshly made solution that has week documentation and is still subject to
  +change and is rather more complex)
   
   <P><LI>
   <P>
  @@ -459,7 +460,7 @@
   
   <P>
   Now I am going to convince you that you _want_ to use a proxy server (in
  -the http acelerator mode). The reasons are:
  +the http accelerator mode). The reasons are:
   
   <UL>
   <P><LI>
  @@ -477,7 +478,7 @@
   <P><LI>
   <P>
   The proxy server acts as a sort of output buffer for the dynamic content.
  -The mod_perl server sends the entire respons to the proxy and is then free
  +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 getting
   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.
  @@ -513,10 +514,10 @@
   <P>
   Also 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). And you can
  -have a few boxes serving the requests, and only one serves as a frontend,
  +have a few boxes serving the requests, and only one serves as a front end,
   which spreads the jobs between the servers in a way you configured it too.
   So you can actually put down one server down for upgrade, but end user will
  -never notice that because the frontend server will dispatch the jobs to
  +never notice that because the front end server will dispatch the jobs to
   other servers. (of course this is pretty big topic, and it would not be
   included in the scope of this document)
   
  @@ -526,7 +527,7 @@
   
   <P><LI>
   <P>
  -Of course there are drawbacks. Luckely, these are not functionality
  +Of course there are drawbacks. Luckily, these are not functionality
   drawbacks, but more of administration hassle. Yes, you add another program
   to worry about, while proxies are generally stable you have to make sure to
   prepare proper startup and shutdown scripts, which are being run at the
  @@ -547,7 +548,7 @@
   </UL>
   <P>
   So let's sum up the points. We have 4 (6-2) points for the proxy server and
  -I beleive I have succeeded to convince you, that you want it :)
  +I believe I have succeeded to convince you, that you want it :)
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  @@ -568,9 +569,9 @@
   First, lets understand what do we have in hands and what do we want from
   squid. We have an httpd_docs and httpd_perl servers listening on ports 81
   and 8080 accordingly (we have to move the httpd_docs server to port 81,
  -since port 80 will be taken over by squid). Both resides on the same
  -machine as squid. We want squid to listen on port 80, forward a single
  -static object request to the port httpd_docs server listens to, and dynamic
  +since port 80 will be taken over by squid). Both reside on the same machine
  +as squid. We want squid to listen on port 80, forward a single static
  +object request to the port httpd_docs server listens to, and dynamic
   request to httpd_perl's port. Both servers return the data to the proxy
   server (unless it is already cached in the squid), so user never sees the
   ports and never knows that there might be more then one server running.
  @@ -580,18 +581,18 @@
   forgets about it. The described functionality is being known as <CODE>httpd accelerator mode</CODE> in proxy dialect.
   
   <P>
  -You should understand that squid can be used as a stright forward proxy
  +You should understand that squid can be used as a straight forward proxy
   server, generally used in companies and ISPs to save up the traffic by
   caching the most popular requests. We want to run it in the
   <CODE>httpd accelerator mode</CODE>. Two directives: <CODE>httpd_accel_host</CODE> and
  -<CODE>httpd_accel_port</CODE> enables this mode. We will see more details in a few seconds. If you are
  +<CODE>httpd_accel_port</CODE> enable this mode. We will see more details in a few seconds. If you are
   currently using the squid in the proxy mode, you can extend its
  -functionality vy running both modes concurrently. To accomplish this, you
  +functionality by running both modes concurrently. To accomplish this, you
   just configure the <CODE>httpd
   accelerator mode</CODE>'s related directives as you were configuring it from scratch.
   
   <P>
  -As stated before, proxy server now listens the port 80 now, we have to move
  +As stated before, proxy server listens now to the port 80, we have to move
   the httpd_docs server to port 81 for example (your mileage may vary :). So
   you have to modify the httpd.conf in the httpd_docs config directory and
   restart the httpd_docs server (But not before we get the squid running if
  @@ -655,7 +656,7 @@
   scripts should carry the <CODE>Caching Directives</CODE> according to the HTTP specs. You will find a complete tutorial about this
   topic in
   <CODE>Tutorial on HTTP Headers for mod_perl users</CODE> by Andreas J. Koenig. If you set the headers correctly there is no need to
  -tell squid accellerator to NOT try to cache something. The headers I am
  +tell squid accelerator to NOT try to cache something. The headers I am
   talking about are <CODE>Last-Modified</CODE> and <CODE>Expires</CODE>. What are they good for?
   
   <P>
  @@ -676,7 +677,7 @@
   But if you are lazy, or just have too many things to deal with, you can
   leave the above directives the way I described. But keep in mind that one
   day you will want to reread this snippet and the Andreas' tutorial and
  -squize even more from your servers without investing money for more memory
  +squeeze even more from your servers without investing money for more memory
   and better hardware.
   
   <P>
  @@ -702,8 +703,8 @@
   </PRE>
   <P>
   Maximum allowed request size in kilobytes. This one is pretty obvious. If
  -you are using POST to upload files, then set this to the largest filesize
  -plus a few extra kbytes.
  +you are using POST to upload files, then set this to the largest file's
  +size plus a few extra kbytes.
   
   <P>
   <PRE>  request_size 1000 KB
  @@ -932,9 +933,9 @@
   servers``. Since all my static objects will be cached by squid, I do not
   need the light server. But it was a wrong assumption. Why? Because you
   still have the overhead of loading the objects into squid at first time,
  -and if you site has many of them. Not all of them will be cached (unless
  +and if your site has many of them. Not all of them will be cached (unless
   you have devoted a huge chunk of memory to squid) and my heavy mod_perl
  -servers will still jave an overhead of serving the static documents. How
  +servers will still have an overhead of serving the static documents. How
   one would measure the overhead? The difference between the two servers is
   memory consumption, everything else (e.g. I/O) should be equal. So you have
   to estimate the time needed for first fetches per second at a peak period
  @@ -944,22 +945,22 @@
   installations.
   
   <P>
  -So I have decide to have even more administration overhead and to stick to
  -the squid, httpd_docs and httpd_perl scenario. Where I can optimize
  -everything. Of course this can be not your case. If you are feeling like
  -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 the squid
  -to do most of the job that plain light apache used to do. As I have
  -explained in the last 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 do the work we do not want it to.
  +So I have decided to have even more administration overhead and to stick to
  +the squid, httpd_docs and httpd_perl scenario, where I can optimize and
  +fine tune everything. Of course this can be not your case. If you are
  +feeling like 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 the squid to do most of the job that plain light apache used to do. As
  +I have explained in the last 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 do the work we do not want it to.
   
   <P>
   So if you are still with me. Install the apache with mod_perl and the
   squid. Then use a similar configuration from 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>. We also do need to bind two servers on the same port anymore because we
  -do not redirect anymore (do there is no need for <CODE>Bind</CODE> and <CODE>Listen</CODE> directives in the httpd.conf).
  +and we specify <CODE>httpd_accel_host</CODE> as a name of the server and not <CODE>virtual</CODE>. We also do not need to bind two servers on the same port anymore because
  +we do not redirect anymore (do there is no need for <CODE>Bind</CODE> and <CODE>Listen</CODE> directives in the httpd.conf).
   
   <P>
   The modified configuration (see the explanations in the previous section):
  @@ -1024,7 +1025,7 @@
   you are not starting it as <CODE>root</CODE>, so choose a port number above 1024. (I use 8080 in most cases). Note that
   you will have to use a URL like <CODE>http://www.you.com:8080</CODE> in that case, but that is not a problem since generally users do not
   directly access URLs to CGI scripts, but rather are directed to them from a
  -link on a webpage or as the '<CODE>ACTION</CODE>' of an HTML form, so they should not know at all that the port is
  +link on a web page or as the '<CODE>ACTION</CODE>' of an HTML form, so they should not know at all that the port is
   different from the default port 80.
   
   <P>
  @@ -1066,7 +1067,7 @@
   I was into this problem many times. I am going to build something by
   passing some non default parameters to the config script and then later
   when I need to rebuild the tool either to upgrade it or to make an
  -indentical copy at some other machine, I have found that I do not remember
  +identical copy at some other machine, I have found that I do not remember
   what parameters did I altered.
   
   <P>
  @@ -1135,9 +1136,9 @@
     make install
   </PRE>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -1156,7 +1157,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/18/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.10      +8 -7      modperl-site/guide/snippets.html
  
  Index: snippets.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/snippets.html,v
  retrieving revision 1.9
  retrieving revision 1.10
  diff -u -r1.9 -r1.10
  --- snippets.html	1999/04/17 21:44:44	1.9
  +++ snippets.html	1999/04/19 19:53:43	1.10
  @@ -39,8 +39,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -103,7 +104,7 @@
   <P>
   Now <CODE>$Bin</CODE> includes the path of the directory the script resides on, so you can move
   the script from one directory to the other and call it from anywhere else,
  -the pathes will be always correct.
  +the paths will be always correct.
   
   <P>
   It's different from using the ``./foo'', for you have to chdir to the
  @@ -246,9 +247,9 @@
     }
   </PRE>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -267,7 +268,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/03/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.11      +6 -5      modperl-site/guide/start.html
  
  Index: start.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/start.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- start.html	1999/04/17 21:44:45	1.10
  +++ start.html	1999/04/19 19:53:45	1.11
  @@ -61,8 +61,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -385,9 +386,9 @@
   
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  
  
  
  1.11      +9 -8      modperl-site/guide/status.html
  
  Index: status.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/status.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- status.html	1999/04/17 21:44:45	1.10
  +++ status.html	1999/04/19 19:53:46	1.11
  @@ -1,7 +1,7 @@
   <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
   <HTML>
   <HEAD>
  -   <TITLE>mod_perl guide: mod_perl Status. Peeking into the Server's Perl Inwards</TITLE>
  +   <TITLE>mod_perl guide: mod_perl Status. Peeking into the Server's Perl Innards</TITLE>
      <META NAME="GENERATOR" CONTENT="Mozilla/3.04Gold (X11; I; AIX 4.1) [Netscape]">
      <META NAME="Author" CONTENT="Bekman Stas">
      <META NAME="Description" CONTENT="mod_perl,perl,apache">
  @@ -20,7 +20,7 @@
   <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 Status. Peeking into the Server's Perl Inwards</H1>
  +mod_perl Status. Peeking into the Server's Perl Innards</H1>
   <HR WIDTH="100%">
   	    <!-- INDEX BEGIN -->
   <P><A NAME="toc"></A><B><FONT SIZE=-1>Table of Contents:</FONT></B></P>
  @@ -41,8 +41,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -140,9 +141,9 @@
   menu.
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -161,7 +162,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 03/15/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>
  
  
  
  1.11      +10 -9     modperl-site/guide/warnings.html
  
  Index: warnings.html
  ===================================================================
  RCS file: /export/home/cvs/modperl-site/guide/warnings.html,v
  retrieving revision 1.10
  retrieving revision 1.11
  diff -u -r1.10 -r1.11
  --- warnings.html	1999/04/17 21:44:45	1.10
  +++ warnings.html	1999/04/19 19:53:49	1.11
  @@ -32,7 +32,7 @@
   	<LI><A HREF="#Value_of_x_may_be_unavailable_a">Value of $x may be unavailable at - line 5.</A>
   	<LI><A HREF="#mod_perl_rwrite_returned_1">mod_perl: rwrite returned -1</A>
   	<LI><A HREF="#caught_SIGPIPE_in_process">caught SIGPIPE in process</A>
  -	<LI><A HREF="#Client_hit_STOP_or_Netscrape_bit">Client hit STOP or Netscrape bit it!</A>
  +	<LI><A HREF="#Client_hit_STOP_or_Netscape_bit_">Client hit STOP or Netscape bit it!</A>
   	<LI><A HREF="#Constant_subroutine_redefine">Constant subroutine ... redefined</A>
   	<LI><A HREF="#Global_symbol_foo_requires_ex">Global symbol &quot;$foo&quot; requires explicit package name</A>
   	<LI><A HREF="#Can_t_undef_active_subroutine">Can't undef active subroutine</A>
  @@ -52,8 +52,9 @@
   
   	       <P><A HREF="index.html">[Back to the main index]</A></P>
   
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -115,9 +116,9 @@
   
   <P>
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -<CENTER><H1><A NAME="Client_hit_STOP_or_Netscrape_bit">Client hit STOP or Netscrape bit it!</A></H1></CENTER>
  +<CENTER><H1><A NAME="Client_hit_STOP_or_Netscape_bit_">Client hit STOP or Netscape bit it!</A></H1></CENTER>
   <P>
  -<PRE>  Client hit STOP or Netscrape bit it!
  +<PRE>  Client hit STOP or Netscape bit it!
     Process 2493 going to Apache::exit with status=-2
   </PRE>
   <P>
  @@ -438,9 +439,9 @@
   See <A HREF="././performance.html#Choosing_MaxClients">Choosing MaxClients</A>.
   
   <P><B><FONT SIZE=-1><A HREF="#toc">[TOC]</A></FONT></B><HR WIDTH="100%"></P>
  -
  -	     The <B><CODE>Writing Apache Modules with Perl an
  -	     C</CODE></B> book can be purchased online from <a
  +	     The <a href="http://www.modperl.com/">
  +	     <B>Writing Apache Modules with Perl and C</B></a>
  +	     book can be purchased online from <a
   	     href="http://www.ora.com/catalog/wrapmod/">O'Reilly </a>
   	     and <a
   	     href="http://www.amazon.com/exec/obidos/ASIN/156592567X/writinapachemodu">
  @@ -459,7 +460,7 @@
       <B>
         <FONT SIZE=-1>
   	     Written by <A HREF="help.html#author">Stas Bekman</A>.
  -	     <BR>Last Modified at 04/18/99 
  +	     <BR>Last Modified at 04/19/99 
         </FONT>
       </B>
     </TD>