cgi_to_mod_perl man page on OpenServer

Man page or keyword search:  
man Server   5388 pages
apropos Keyword Search (all sections)
Output format
OpenServer logo
[printable version]

cgi_to_mod_perl(3)    User Contributed Perl Documentation   cgi_to_mod_perl(3)

NAME
       cgi_to_mod_perl - First steps needed to use mod_perl as a CGI replace-
       ment

DESCRIPTION
       As the README and other mod_perl documents explain, mod_perl as a CGI
       replacement is only a small piece of what the package offers.  However,
       it is the most popular use of mod_perl, this document is here so you
       can cut to the chase.

INSTALLATION
       Read the INSTALL document, in most cases, nothing more is required
       than:

	perl Makefile.PL && make && make install

CONFIGURATION
       For using mod_perl as a CGI replacement, the recommended configuration
       is as follows:

	Alias /perl/  /real/path/to/perl-scripts/

	<Location /perl>
	SetHandler  perl-script
	PerlHandler Apache::Registry
	Options +ExecCGI
	</Location>

       `Location' refers to the uri, not a directory, think of the above as

	<Location http://www.yourname.com/perl>

       Any files under that location (which live on your filesystem under
       /real/path/to/perl-scripts/), will be handled by the Apache::Registry
       module, which emulates the CGI environment.  The file must exist and be
       executable, in addition,	 'Options ExecCGI' must be turned on.

       If you wish to have mod_perl execute scripts in any location based on
       file extension, use a configuration like so:

	<Files ~ "\.pl$">
	SetHandler perl-script
	PerlHandler Apache::Registry
	Options ExecCGI
	</Files>

       Note that `ScriptAlias' does _not_ work for mod_perl.

PORTING CGI SCRIPTS
       I/O If you are using Perl 5.004 most CGI scripts can run under mod_perl
	   untouched.  If you're using 5.003, Perl's built-in "read()" and
	   "print()" functions do not work as they do under CGI.  If you're
	   using CGI.pm, use "$query->print" instead of plain 'ol "print()".

       HEADERS
	   By default, mod_perl does not send any headers by itself, however,
	   you may wish to change this:

	       PerlSendHeader On

	   Now the response line and common headers will be sent as they are
	   by mod_cgi.	And, just as with mod_cgi, PerlSendHeader will not
	   send a terminating newline, your script must send that itself,
	   e.g.:

	    print "Content-type: text/html\n\n";

	   If you're using CGI.pm and 'print $q->header' you do _not_ need
	   "PerlSendHeader On".

       NPH SCRIPTS
	   To run a CGI `nph' script under mod_perl, simply add to your code:

	    local $| = 1;

	   If you normally set PerlSendHeader On, add this to your httpd.conf:

	    <Files */nph-*>
	    PerlSendHeader Off
	    </Files>

       PROGRAMMING PRACTICE
	   CGI lets you get away with sloppy programming, mod_perl does not.
	   Why?	 CGI scripts have the lifetime of a single HTTP request as a
	   separate process.  When the request is over, the process goes away
	   and everything is cleaned up for you, e.g. globals variables, open
	   files, etc.	Scripts running under mod_perl have a longer lifetime,
	   over several request, different scripts may be in the same process.
	   This means you must clean up after yourself.	 You've heard:

	    always 'use strict' and C<-w>!!!

	   It's more important under mod_perl Perl than anywhere else, while
	   it's not required, it strongly recommended, it will save you more
	   time in the long run.  And, of course, clean scripts will still run
	   under CGI!

       TRAPS
	   See mod_perl_traps.

REPORTING PROBLEMS
       Read the SUPPORT file.

SEE ALSO
       Apache::PerlRun(3)

perl v5.8.8			  2007-03-30		    cgi_to_mod_perl(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server OpenServer

List of man pages available for OpenServer

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net