stas        2003/11/20 15:11:42

  Modified:    src/docs/2.0/user/config config.pod
  Log:
  clarify the confusion with perl-script and GlobalRequest
  
  Revision  Changes    Path
  1.51      +44 -4     modperl-docs/src/docs/2.0/user/config/config.pod
  
  Index: config.pod
  ===================================================================
  RCS file: /home/cvs/modperl-docs/src/docs/2.0/user/config/config.pod,v
  retrieving revision 1.50
  retrieving revision 1.51
  diff -u -u -r1.50 -r1.51
  --- config.pod        28 Oct 2003 20:25:59 -0000      1.50
  +++ config.pod        20 Nov 2003 23:11:42 -0000      1.51
  @@ -272,7 +272,8 @@
   
   =item *
   
  -C<PerlOptions +GlobalRequest> is in effect unless:
  +C<PerlOptions +GlobalRequest> is in effect only during the
  +PerlResponseHandler phase unless:
   
     PerlOptions -GlobalRequest
   
  @@ -540,10 +541,9 @@
   =head3 C<GlobalRequest>
   
   Setup the global C<request_rec> for use with C<Apache-E<gt>request>.
  -This setting is needed for example if you use C<CGI.pm> to process the
  -incoming request.
   
  -This setting is enabled by default for sections configured as:
  +This setting is enabled by default during the PerlResponseHandler
  +phase for sections configured as:
   
     <Location ...>
         SetHandler perl-script
  @@ -558,7 +558,47 @@
         ...
     </Location>
   
  +Notice that if you need the global request object during other phases,
  +you will need to explicitly enable it in the configuration file.
   
  +You can also set that global object from the handler code, like so:
  +
  +  sub handler {
  +      my $r = shift;
  +      Apache->request($r);
  +      ...
  +  }
  +
  +The C<+GlobalRequest> setting is needed for example if you use older
  +versions of C<CGI.pm> to process the incoming request. Starting from
  +version 2.93, C<CGI.pm> optionally accepts C<$r> as an argument to
  +C<new()>, like so:
  +
  +  sub handler {
  +      my $r = shift;
  +      my $q = CGI->new($r);
  +      ...
  +  }
  +
  +Remember that inside registry scripts you can always get C<$r> at the
  +beginning of the script, since it gets wrapped inside a subroutine and
  +accepts C<$r> as the first and the only argument. For example:
  +
  +  #!/usr/bin/perl
  +  use CGI;
  +  my $r = shift;
  +  my $q = CGI->new($r);
  +  ...
  +
  +of course you won't be able to run this under mod_cgi, so you may need
  +to do:
  +
  +  #!/usr/bin/perl
  +  use CGI;
  +  my $q = $ENV{MOD_PERL} ? CGI->new(shift @_) : CGI->new();
  +  ...
  +
  +in order to have the script running under mod_perl and mod_cgi.
   
   =head3 C<ParseHeaders>
   
  
  
  

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

Reply via email to