PerlEx Interpreter Classes
PerlEx can create a configurable number of Perl interpreters to run your CGI
scripts. The phrase Interpreter Class is used in this document
to identify the set of run time parameters that are applied as a whole to a
group of interpreters that are designated to run one or more scripts.
Run time options for PerlEx are specified in the Windows registry, under
the following key:
[HKEY_LOCAL_MACHINE/SOFTWARE/ActiveState/PerlEx/<version>]
The parameters that make up an Interpreter Class are specified in keys under
the key "Classes". For example, the parameters for the XYZ Interpreter
Class live under the following registry key:
[HKEY_LOCAL_MACHINE/SOFTWARE/ActiveState/PerlEx/<version>/Classes/XYZ]
The following run time parameters can be specified for each Interpreter Class:
- ScriptLocation: The full or
partial path prefix used to identify scripts that belong to this
Interpreter Class (required).
- Interpreters: The number of Perl
interpreters to set aside for executing scripts in the ScriptLocation for
this Interpreter Class (optional).
- CommandLineOptions: The
arguments passed to the Perl interpreters that will be created for for
executing scripts (optional).
- Environment:
Additional environment variables that must be set while executing scripts
(optional).
- Reload: The
number of times interpreters in this Interpreter Class will execute
requests before being reinitialized (optional).
- Trace: The detail
level of messages written to the PerlEx log file for requests executed by
interpreters in this Interpreter Class (optional).
- EnableCGIHeader: Whether or not
CGI status headers should be emitted by PerlEx (optional).
- EnableDebugOutput: Whether or
not output that normally goes to a log file should also be sent to the
browser (optional).
- EnableReadAhead: Whether to
completely read all the request data sent by the client before allocating
an interpreter to process it (optional).
- DisableImpersonate: Whether
PerlEx should execute the request within the security context of the web
server, rather than that of the user making the request (optional).
- DisableThreadPool: When the
global thread pool is enabled, whether to use it for running scripts within
this Interpreter Class (optional).
- ReadAheadMemorySizeLimit:
When read-ahead is enabled, how much memory to use as buffer for the
read-ahead data (optional).
- ReadAheadFileSizeLimit:
When read-ahead is enabled, how much storage space to use as buffer for the
read-ahead data (optional).
- OverLimitFileName: A response
to send to the client when read-ahead is enabled and there is insufficient
buffer space to hold the read-ahead data (optional).
- UseAsyncReadAhead: When
read-ahead is enabled, whether to read the request data asynchronously,
provided the web server supports doing so (optional).
If no Interpreter Classes are defined, or for scripts whose location
does not match the ScriptLocation entry of any of the defined Interpreter
Classes, PerlEx applies the parameters in the Default Interpreter Class.
The Default Interpreter Class is made up of registry entries at the top
level:
[HKEY_LOCAL_MACHINE/SOFTWARE/ActiveState/PerlEx/<version>]
Optional parameters that are omitted in Interpreter Classes also inherit
their values from the Default Interpreter Class.
For more information, please see:
Registry Entries
Reload & ReloadAll functions