Product Documentation

ActivePerl 5.10 Documentation

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