{
    "content": [
        {
            "type": "text",
            "text": "# HTML::Mason::Params (perldoc)\n\n## NAME\n\nHTML::Mason::Params - Mason configuration parameters\n\n## DESCRIPTION\n\nThis document lists all of the Mason configuration parameters that are intended to be used by\nend users.\n\n## Sections\n\n- **NAME**\n- **DESCRIPTION**\n- **PERL AND APACHE NAMES** (2 subsections)\n- **PARAMETERS**\n\nUse structuredContent.sections for detailed options, examples, and full documentation.\n"
        }
    ],
    "structuredContent": {
        "command": "HTML::Mason::Params",
        "section": "",
        "mode": "perldoc",
        "summary": "HTML::Mason::Params - Mason configuration parameters",
        "synopsis": null,
        "tldr_summary": null,
        "tldr_examples": [],
        "tldr_source": null,
        "flags": [],
        "examples": [],
        "see_also": [],
        "section_outline": [
            {
                "name": "NAME",
                "lines": 2,
                "subsections": []
            },
            {
                "name": "DESCRIPTION",
                "lines": 3,
                "subsections": []
            },
            {
                "name": "PERL AND APACHE NAMES",
                "lines": 10,
                "subsections": [
                    {
                        "name": "Where Apache Names Are Used",
                        "lines": 3
                    },
                    {
                        "name": "Where Perl Names Are Used",
                        "lines": 12
                    }
                ]
            },
            {
                "name": "PARAMETERS",
                "lines": 875,
                "subsections": []
            }
        ],
        "sections": {
            "NAME": {
                "content": "HTML::Mason::Params - Mason configuration parameters\n",
                "subsections": []
            },
            "DESCRIPTION": {
                "content": "This document lists all of the Mason configuration parameters that are intended to be used by\nend users.\n",
                "subsections": []
            },
            "PERL AND APACHE NAMES": {
                "content": "Each parameter has two names: a Perl version and an Apache version. The Perl version uses\n\"lowercasewithunderscores\", while the Apache version uses \"StudlyCaps\" with a \"Mason\" prefix.\nThe conversion from one version to the other is otherwise very predictable. For example,\n\n*   \"autohandlername\" \"<-->\" \"MasonAutohandlerName\"\n\n*   \"comproot\" \"<-->\" \"MasonCompRoot\"\n\n*   \"datacachedefaults\" \"<-->\" \"MasonDataCacheDefaults\"\n",
                "subsections": [
                    {
                        "name": "Where Apache Names Are Used",
                        "content": "The Apache parameter names are used in the Apache configuration file in an httpd-based\nconfiguration.\n"
                    },
                    {
                        "name": "Where Perl Names Are Used",
                        "content": "The Perl parameter names are used from Perl code, i.e. anywhere other than the Apache\nconfiguration file. For example,\n\n*   In an custom wrapper-based configuration, you can pass most of these parameters to the\nApacheHandler constructor.\n\n*   In a standalone Mason script, you can pass most of these parameters to the Interp\nconstructor.\n\n*   When launching a subrequest, you can pass any of the \"HTML::Mason::Request\" parameters to\nmakesubrequest.\n"
                    }
                ]
            },
            "PARAMETERS": {
                "content": "allowglobals\n*   Perl name: allowglobals\n\n*   Apache name: MasonAllowGlobals\n\n*   Type in httpd.conf: list\n\n*   Default: []\n\n*   Belongs to: \"HTML::Mason::Compiler\"\n\nList of variable names, complete with prefix (\"$@%\"), that you intend to use as globals in\ncomponents. Normally global variables are forbidden by \"strict\", but any variable mentioned in\nthis list is granted a reprieve via a \"use vars\" statement. For example:\n\nallowglobals => [qw($DBH %session)]\n\nIn a modperl environment, $r (the request object) is automatically added to this list.\n\napachestatustitle\n*   Perl name: apachestatustitle\n\n*   Apache name: MasonApacheStatusTitle\n\n*   Type in httpd.conf: string\n\n*   Default: HTML::Mason status\n\n*   Belongs to: \"HTML::Mason::ApacheHandler\"\n\nTitle that you want this ApacheHandler to appear as under Apache::Status. Default is\n\"HTML::Mason status\". This is useful if you create more than one ApacheHandler object and want\nthem all visible via Apache::Status.\n\nargsmethod\n*   Perl name: argsmethod\n\n*   Apache name: MasonArgsMethod\n\n*   Type in httpd.conf: string\n\n*   Default: modperl\n\n*   Belongs to: \"HTML::Mason::ApacheHandler\"\n\nMethod to use for unpacking GET and POST arguments. The valid options are 'CGI' and 'modperl';\nthese indicate that a \"CGI.pm\" or \"Apache::Request\" object (respectively) will be created for\nthe purposes of argument handling.\n\n'modperl' is the default under modperl-1 and requires that you have installed the\n\"Apache::Request\" package. Under modperl-2, the default is 'CGI' because \"Apache2::Request\" is\nstill in development.\n\nIf argsmethod is 'modperl', the $r global is upgraded to an Apache::Request object. This\nobject inherits all Apache methods and adds a few of its own, dealing with parameters and file\nuploads. See \"Apache::Request\" for more information.\n\nIf the argsmethod is 'CGI', the Mason request object ($m) will have a method called\n\"cgiobject\" available. This method returns the CGI object used for argument processing.\n\nWhile Mason will load \"Apache::Request\" or \"CGI\" as needed at runtime, it is recommended that\nyou preload the relevant module either in your httpd.conf or handler.pl file, as this will save\nsome memory.\n\nautosendheaders\n*   Perl name: autosendheaders\n\n*   Apache name: MasonAutoSendHeaders\n\n*   Type in httpd.conf: boolean\n\n*   Default: 1\n\n*   Belongs to: \"HTML::Mason::Request::ApacheHandler\"\n\nTrue or false, default is true. Indicates whether Mason should automatically send HTTP headers\nbefore sending content back to the client. If you set to false, you should call\n\"$r->sendhttpheader\" manually.\n\nSee the sending HTTP headers section of the developer's manual for more details about the\nautomatic header feature.\n\nNOTE: This parameter has no effect under modperl-2, since calling \"$r->sendhttpheader\" is no\nlonger needed.\n\nautoflush\n*   Perl name: autoflush\n\n*   Apache name: MasonAutoflush\n\n*   Type in httpd.conf: boolean\n\n*   Default: 0\n\n*   Belongs to: \"HTML::Mason::Request\"\n\nTrue or false, default is false. Indicates whether to flush the output buffer\n(\"$m->flushbuffer\") after every string is output. Turn on autoflush if you need to send partial\noutput to the client, for example in a progress meter.\n\nAs of Mason 1.3, autoflush will only work if enableautoflush has been set. Components can be\ncompiled more efficiently if they don't have to check for autoflush. Before using autoflush you\nmight consider whether a few manual \"$m->flushbuffer\" calls would work nearly as well.\n\nautohandlername\n*   Perl name: autohandlername\n\n*   Apache name: MasonAutohandlerName\n\n*   Type in httpd.conf: string\n\n*   Default: autohandler\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nFile name used for autohandlers. Default is \"autohandler\". If this is set to an empty string\n(\"\") then autohandlers are turned off entirely.\n\nbufferpreallocatesize\n*   Perl name: bufferpreallocatesize\n\n*   Apache name: MasonBufferPreallocateSize\n\n*   Type in httpd.conf: string\n\n*   Default: 0\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nNumber of bytes to preallocate in the output buffer for each request. Defaults to 0. Setting\nthis to, say, your maximum page size (or close to it) can reduce the number of reallocations\nPerl performs as components add to the output buffer.\n\ncodecachemaxsize\n*   Perl name: codecachemaxsize\n\n*   Apache name: MasonCodeCacheMaxSize\n\n*   Type in httpd.conf: string\n\n*   Default: unlimited\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nSpecifies the maximum number of components that should be held in the in-memory code cache. The\ndefault is 'unlimited', meaning no components will ever be discarded; Mason can perform certain\noptimizations in this mode. Setting this to zero disables the code cache entirely. See the code\ncache section of the administrator's manual for further details.\n\ncompclass\n*   Perl name: compclass\n\n*   Apache name: MasonCompClass\n\n*   Type in httpd.conf: string\n\n*   Default: HTML::Mason::Component\n\n*   Belongs to: \"HTML::Mason::Compiler::ToObject\"\n\nThe class into which component objects are blessed. This defaults to HTML::Mason::Component.\n\ncomproot\n*   Perl name: comproot\n\n*   Apache name: MasonCompRoot\n\n*   Type in httpd.conf: list\n\n*   Default: Varies\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nThe component root marks the top of your component hierarchy and defines how component paths are\ntranslated into real file paths. For example, if your component root is /usr/local/httpd/docs, a\ncomponent path of /products/index.html translates to the file\n/usr/local/httpd/docs/products/index.html.\n\nUnder Apache and CGI, comproot defaults to the server's document root. In standalone mode\ncomproot defaults to the current working directory.\n\nThis parameter may be either a scalar or an array reference. If it is a scalar, it should be a\nfilesystem path indicating the component root. If it is an array reference, it should be of the\nfollowing form:\n\n[ [ foo => '/usr/local/foo' ],\n[ bar => '/usr/local/bar' ] ]\n\nThis is an array of two-element array references, not a hash. The \"keys\" for each path must be\nunique and their \"values\" must be filesystem paths. These paths will be searched in the provided\norder whenever a component path is resolved. For example, given the above component roots and a\ncomponent path of /products/index.html, Mason would search first for\n/usr/local/foo/products/index.html, then for /usr/local/bar/products/index.html.\n\nThe keys are used in several ways. They help to distinguish component caches and object files\nbetween different component roots, and they appear in the \"title()\" of a component.\n\nWhen you specify a single path for a component root, this is actually translated into\n\n[ [ MAIN => path ] ]\n\nIf you have turned on dynamiccomproot, you may modify the component root(s) of an interpreter\nbetween requests by calling \"$interp->comproot\" with a value. However, the path associated with\nany given key may not change between requests. For example, if the initial component root is\n\n[ [ foo => '/usr/local/foo' ],\n[ bar => '/usr/local/bar' ], ]\n\nthen it may not be changed to\n\n[ [ foo => '/usr/local/bar' ],\n[ bar => '/usr/local/baz' ],\n\nbut it may be changed to\n\n[ [ foo   => '/usr/local/foo' ],\n[ blarg => '/usr/local/blarg' ] ]\n\nIn other words, you may add or remove key/path pairs but not modify an already-used key/path\npair. The reason for this restriction is that the interpreter maintains a component cache per\nkey that would become invalid if the associated paths were to change.\n\ncompilerclass\n*   Perl name: compilerclass\n\n*   Apache name: MasonCompilerClass\n\n*   Type in httpd.conf: string\n\n*   Default: HTML::Mason::Compiler::ToObject\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nThe class to use when creating a compiler. Defaults to HTML::Mason::Compiler::ToObject.\n\ncomponenterrorhandler\n*   Perl name: componenterrorhandler\n\n*   Apache name: MasonComponentErrorHandler\n\n*   Type in httpd.conf: code\n\n*   Default: sub { package HTML::Mason::Exceptions; use warnings; use strict 'refs'; my($err) =\n@; return unless $err; if (UNIVERSAL::can($err, 'rethrow')) { $err->rethrow; } elsif (ref\n$err) { die $err; } 'HTML::Mason::Exception'->throw('error', $err); }\n\n*   Belongs to: \"HTML::Mason::Request\"\n\nA code reference used to handle errors thrown during component compilation or runtime. By\ndefault, this is a subroutine that turns non-exception object errors in components into\nexceptions. If this parameter is set to a false value, these errors are simply rethrown as-is.\n\nTurning exceptions into objects can be expensive, since this will cause the generation of a\nstack trace for each error. If you are using strings or unblessed references as exceptions in\nyour code, you may want to turn this off as a performance boost.\n\ndatacacheapi\n*   Perl name: datacacheapi\n\n*   Apache name: MasonDataCacheApi\n\n*   Type in httpd.conf: string\n\n*   Default: 1.1\n\n*   Belongs to: \"HTML::Mason::Request\"\n\nThe \"$m->cache\" API to use:\n\n*   '1.1', the default, indicates a \"Cache::Cache\" based API.\n\n*   'chi' indicates a \"CHI\" based API.\n\n*   '1.0' indicates the custom cache API used in Mason 1.0x and earlier. This compatibility\nlayer is provided as a convenience for users upgrading from older versions of Mason, but\nwill not be supported indefinitely.\n\ndatacachedefaults\n*   Perl name: datacachedefaults\n\n*   Apache name: MasonDataCacheDefaults\n\n*   Type in httpd.conf: hashlist\n\n*   Default: None\n\n*   Belongs to: \"HTML::Mason::Request\"\n\nA hash reference of default options to use for the \"$m->cache\" command. For example, to use\nCache::Cache's \"MemoryCache\" implementation by default:\n\ndatacachedefaults => {cacheclass => 'MemoryCache'}\n\nTo use the CHI \"FastMmap\" driver by default:\n\ndatacacheapi      => 'CHI',\ndatacachedefaults => {driver => 'FastMmap'},\n\nThese settings are overridden by options given to particular \"$m->cache\" calls.\n\ndatadir\n*   Perl name: datadir\n\n*   Apache name: MasonDataDir\n\n*   Type in httpd.conf: string\n\n*   Default: None\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nThe data directory is a writable directory that Mason uses for various features and\noptimizations: for example, component object files and data cache files. Mason will create the\ndirectory on startup, if necessary, and set its permissions according to the web server\nUser/Group.\n\nUnder Apache, datadir defaults to a directory called \"mason\" under the Apache server root. You\nwill need to change this on certain systems that assign a high-level server root such as /usr!\n\nIn non-Apache environments, datadir has no default. If it is left unspecified, Mason will not\nuse object files, and the default data cache class will be \"MemoryCache\" instead of \"FileCache\".\n\ndeclinedirs\n*   Perl name: declinedirs\n\n*   Apache name: MasonDeclineDirs\n\n*   Type in httpd.conf: boolean\n\n*   Default: 1\n\n*   Belongs to: \"HTML::Mason::ApacheHandler\"\n\nTrue or false, default is true. Indicates whether Mason should decline directory requests,\nleaving Apache to serve up a directory index or a \"FORBIDDEN\" error as appropriate. See the\nallowing directory requests section of the administrator's manual for more information about\nhandling directories with Mason.\n\ndefaultescapeflags\n*   Perl name: defaultescapeflags\n\n*   Apache name: MasonDefaultEscapeFlags\n\n*   Type in httpd.conf: string\n\n*   Default: []\n\n*   Belongs to: \"HTML::Mason::Compiler\"\n\nEscape flags to apply to all <% %> expressions by default. The current valid flags are\n\nh - escape for HTML ('<' => '&lt;', etc.)\nu - escape for URL (':' => '%3A', etc.)\n\nThe developer can override default escape flags on a per-expression basis; see the escaping\nexpressions section of the developer's manual.\n\nIf you want to set *multiple* flags as the default, this should be given as a reference to an\narray of flags.\n\ndefineargshash\n*   Perl name: defineargshash\n\n*   Apache name: MasonDefineArgsHash\n\n*   Type in httpd.conf: string\n\n*   Default: auto\n\n*   Belongs to: \"HTML::Mason::Compiler::ToObject\"\n\nOne of \"always\", \"auto\", or \"never\". This determines whether or not an %ARGS hash is created in\ncomponents. If it is set to \"always\", one is always defined. If set to \"never\", it is never\ndefined.\n\nThe default, \"auto\", will cause the hash to be defined only if some part of the component\ncontains the string \"ARGS\". This is somewhat crude, and may result in some false positives, but\nthis is preferable to false negatives.\n\nNot defining the args hash means that we can avoid copying component arguments, which can save\nmemory and slightly improve execution speed.\n\ndhandlername\n*   Perl name: dhandlername\n\n*   Apache name: MasonDhandlerName\n\n*   Type in httpd.conf: string\n\n*   Default: dhandler\n\n*   Belongs to: \"HTML::Mason::Request\"\n\nFile name used for dhandlers. Default is \"dhandler\". If this is set to an empty string (\"\") then\ndhandlers are turned off entirely.\n\ndynamiccomproot\n*   Perl name: dynamiccomproot\n\n*   Apache name: MasonDynamicCompRoot\n\n*   Type in httpd.conf: boolean\n\n*   Default: 0\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nTrue or false, defaults to false. Indicates whether the comproot can be modified on this\ninterpreter between requests. Mason can perform a few optimizations with a fixed component root,\nso you should only set this to true if you actually need it.\n\nenableautoflush\n*   Perl name: enableautoflush\n\n*   Apache name: MasonEnableAutoflush\n\n*   Type in httpd.conf: boolean\n\n*   Default: 1\n\n*   Belongs to: \"HTML::Mason::Compiler\"\n\nTrue or false, default is true. Indicates whether components are compiled with support for\nautoflush. The component can be compiled to a more efficient form if it does not have to check\nfor autoflush mode, so you should set this to 0 if you can.\n\nerrorformat\n*   Perl name: errorformat\n\n*   Apache name: MasonErrorFormat\n\n*   Type in httpd.conf: string\n\n*   Default: Varies\n\n*   Belongs to: \"HTML::Mason::Request\"\n\nIndicates how errors are formatted. The built-in choices are\n\n*   *brief* - just the error message with no trace information\n\n*   *text* - a multi-line text format\n\n*   *line* - a single-line text format, with different pieces of information separated by tabs\n(useful for log files)\n\n*   *html* - a fancy html format\n\nThe default format under Apache and CGI is either *line* or *html* depending on whether the\nerror mode is *fatal* or *output*, respectively. The default for standalone mode is *text*.\n\nThe formats correspond to \"HTML::Mason::Exception\" methods named as*format*. You can define\nyour own format by creating an appropriately named method; for example, to define an \"xml\"\nformat, create a method \"HTML::Mason::Exception::asxml\" patterned after one of the built-in\nmethods.\n\nerrormode\n*   Perl name: errormode\n\n*   Apache name: MasonErrorMode\n\n*   Type in httpd.conf: string\n\n*   Default: Varies\n\n*   Belongs to: \"HTML::Mason::Request\"\n\nIndicates how errors are returned to the caller. The choices are *fatal*, meaning die with the\nerror, and *output*, meaning output the error just like regular output.\n\nThe default under Apache and CGI is *output*, causing the error to be displayed in the browser.\nThe default for standalone mode is *fatal*.\n\nescapeflags\n*   Perl name: escapeflags\n\n*   Apache name: MasonEscapeFlags\n\n*   Type in httpd.conf: hashlist\n\n*   Default: None\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nA hash reference of escape flags to set for this object. See the section on the setescape\nmethod for more details.\n\nignorewarningsexpr\n*   Perl name: ignorewarningsexpr\n\n*   Apache name: MasonIgnoreWarningsExpr\n\n*   Type in httpd.conf: regex\n\n*   Default: qr/Subroutine .* redefined/i\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nRegular expression indicating which warnings to ignore when loading components. Any warning that\nis not ignored will prevent the component from being loaded and executed. For example:\n\nignorewarningsexpr =>\n'Global symbol.*requires explicit package'\n\nIf set to undef, all warnings are heeded. If set to '.', warnings are turned off completely as a\nspecially optimized case.\n\nBy default, this is set to 'Subroutine .* redefined'. This allows you to declare global\nsubroutines inside <%once> sections and not receive an error when the component is reloaded.\n\ninpackage\n*   Perl name: inpackage\n\n*   Apache name: MasonInPackage\n\n*   Type in httpd.conf: string\n\n*   Default: HTML::Mason::Commands\n\n*   Belongs to: \"HTML::Mason::Compiler::ToObject\"\n\nThis is the package in which a component's code is executed. For historical reasons, this\ndefaults to \"HTML::Mason::Commands\".\n\ninterpclass\n*   Perl name: interpclass\n\n*   Apache name: MasonInterpClass\n\n*   Type in httpd.conf: string\n\n*   Default: HTML::Mason::Interp\n\n*   Belongs to: \"HTML::Mason::ApacheHandler\"\n\nThe class to use when creating a interpreter. Defaults to HTML::Mason::Interp.\n\nlexerclass\n*   Perl name: lexerclass\n\n*   Apache name: MasonLexerClass\n\n*   Type in httpd.conf: string\n\n*   Default: HTML::Mason::Lexer\n\n*   Belongs to: \"HTML::Mason::Compiler\"\n\nThe class to use when creating a lexer. Defaults to HTML::Mason::Lexer.\n\nmaxrecurse\n*   Perl name: maxrecurse\n\n*   Apache name: MasonMaxRecurse\n\n*   Type in httpd.conf: string\n\n*   Default: 32\n\n*   Belongs to: \"HTML::Mason::Request\"\n\nThe maximum recursion depth for the component stack, for the request stack, and for the\ninheritance stack. An error is signalled if the maximum is exceeded. Default is 32.\n\nnamedcomponentsubs\n*   Perl name: namedcomponentsubs\n\n*   Apache name: MasonNamedComponentSubs\n\n*   Type in httpd.conf: boolean\n\n*   Default: 0\n\n*   Belongs to: \"HTML::Mason::Compiler::ToObject\"\n\nWhen compiling a component, use uniquely named subroutines for the a component's body,\nsubcomponents, and methods. Doing this allows you to effectively profile Mason components.\nWithout this, all components simply show up as ANON or something similar in the profiler.\n\nobjectfileextension\n*   Perl name: objectfileextension\n\n*   Apache name: MasonObjectFileExtension\n\n*   Type in httpd.conf: string\n\n*   Default: .obj\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nExtension to add to the end of object files. Default is \".obj\".\n\noutmethod\n*   Perl name: outmethod\n\n*   Apache name: MasonOutMethod\n\n*   Type in httpd.conf: code\n\n*   Default: Print to STDOUT\n\n*   Belongs to: \"HTML::Mason::Request\"\n\nIndicates where to send output. If outmethod is a reference to a scalar, output is appended to\nthe scalar. If outmethod is a reference to a subroutine, the subroutine is called with each\noutput string. For example, to send output to a file called \"mason.out\":\n\nmy $fh = new IO::File \">mason.out\";\n...\noutmethod => sub { $fh->print($[0]) }\n\nBy default, outmethod prints to standard output. Under Apache, standard output is redirected to\n\"$r->print\".\n\nplugins\n*   Perl name: plugins\n\n*   Apache name: MasonPlugins\n\n*   Type in httpd.conf: list\n\n*   Default: []\n\n*   Belongs to: \"HTML::Mason::Request\"\n\nAn array of plugins that will be called at various stages of request processing. Please see\nHTML::Mason::Plugin for details.\n\npostamble\n*   Perl name: postamble\n\n*   Apache name: MasonPostamble\n\n*   Type in httpd.conf: string\n\n*   Default: None\n\n*   Belongs to: \"HTML::Mason::Compiler::ToObject\"\n\nText given for this parameter is placed at the end of each component. See also preamble. The\nrequest will be available as $m in postamble code.\n\npostprocessperl\n*   Perl name: postprocessperl\n\n*   Apache name: MasonPostprocessPerl\n\n*   Type in httpd.conf: code\n\n*   Default: None\n\n*   Belongs to: \"HTML::Mason::Compiler\"\n\nSub reference that is called to postprocess the Perl portion of a compiled component, just\nbefore it is assembled into its final subroutine form. The sub is called with a single\nparameter, a scalar reference to the Perl portion of the component. The sub is expected to\nprocess the string in-place. See also preprocess and postprocesstext.\n\npostprocesstext\n*   Perl name: postprocesstext\n\n*   Apache name: MasonPostprocessText\n\n*   Type in httpd.conf: code\n\n*   Default: None\n\n*   Belongs to: \"HTML::Mason::Compiler\"\n\nSub reference that is called to postprocess the text portion of a compiled component, just\nbefore it is assembled into its final subroutine form. The sub is called with a single\nparameter, a scalar reference to the text portion of the component. The sub is expected to\nprocess the string in-place. See also preprocess and postprocessperl.\n\npreamble\n*   Perl name: preamble\n\n*   Apache name: MasonPreamble\n\n*   Type in httpd.conf: string\n\n*   Default: None\n\n*   Belongs to: \"HTML::Mason::Compiler::ToObject\"\n\nText given for this parameter is placed at the beginning of each component, but after the\nexecution of any \"<%once>\" block. See also postamble. The request will be available as $m in\npreamble code.\n\npreloads\n*   Perl name: preloads\n\n*   Apache name: MasonPreloads\n\n*   Type in httpd.conf: list\n\n*   Default: None\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nA list of component paths, optionally with glob wildcards, to load when the interpreter\ninitializes. e.g.\n\npreloads => ['/foo/index.html','/bar/*.pl']\n\nDefault is the empty list. For maximum performance, this should only be used for components that\nare frequently viewed and rarely updated. See the preloading components section of the\nadministrator's manual for further details.\n\nAs mentioned in the developer's manual, a component's \"<%once>\" section is executed when it is\nloaded. For preloaded components, this means that this section will be executed before a Mason\nor Apache request exist, so preloading a component that uses $m or $r in a \"<%once>\" section\nwill fail.\n\npreprocess\n*   Perl name: preprocess\n\n*   Apache name: MasonPreprocess\n\n*   Type in httpd.conf: code\n\n*   Default: None\n\n*   Belongs to: \"HTML::Mason::Compiler\"\n\nSub reference that is called to preprocess each component before the compiler does it's magic.\nThe sub is called with a single parameter, a scalar reference to the script. The sub is expected\nto process the script in-place. This is one way to extend the HTML::Mason syntax with new tags,\netc., although a much more flexible way is to subclass the Lexer or Compiler class. See also\npostprocesstext and postprocessperl.\n\nrequestclass\n*   Perl name: requestclass\n\n*   Apache name: MasonRequestClass\n\n*   Type in httpd.conf: string\n\n*   Default: HTML::Mason::Request\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nThe class to use when creating requests. Defaults to HTML::Mason::Request.\n\nresolverclass\n*   Perl name: resolverclass\n\n*   Apache name: MasonResolverClass\n\n*   Type in httpd.conf: string\n\n*   Default: HTML::Mason::Resolver::File\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nThe class to use when creating a resolver. Defaults to HTML::Mason::Resolver::File.\n\nstaticsource\n*   Perl name: staticsource\n\n*   Apache name: MasonStaticSource\n\n*   Type in httpd.conf: boolean\n\n*   Default: 0\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nTrue or false, default is false. When false, Mason checks the timestamp of the component source\nfile each time the component is used to see if it has changed. This provides the instant\nfeedback for source changes that is expected for development. However it does entail a file stat\nfor each component executed.\n\nWhen true, Mason assumes that the component source tree is unchanging: it will not check\ncomponent source files to determine if the memory cache or object file has expired. This can\nsave many file stats per request. However, in order to get Mason to recognize a component source\nchange, you must flush the memory cache and remove object files. See staticsourcetouchfile\nfor one easy way to arrange this.\n\nWe recommend turning this mode on in your production sites if possible, if performance is of any\nconcern.\n\nstaticsourcetouchfile\n*   Perl name: staticsourcetouchfile\n\n*   Apache name: MasonStaticSourceTouchFile\n\n*   Type in httpd.conf: string\n\n*   Default: None\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nSpecifies a filename that Mason will check once at the beginning of of every request. When the\nfile timestamp changes, Mason will (1) clear its in-memory component cache, and (2) remove\nobject files if they have not already been deleted by another process.\n\nThis provides a convenient way to implement staticsource mode. All you need to do is make sure\nthat a single file gets touched whenever components change. For Mason's part, checking a single\nfile at the beginning of a request is much cheaper than checking every component file when\nstaticsource=0.\n\nsubcompclass\n*   Perl name: subcompclass\n\n*   Apache name: MasonSubcompClass\n\n*   Type in httpd.conf: string\n\n*   Default: HTML::Mason::Component::Subcomponent\n\n*   Belongs to: \"HTML::Mason::Compiler::ToObject\"\n\nThe class into which subcomponent objects are blessed. This defaults to\nHTML::Mason::Component::Subcomponent.\n\nuseobjectfiles\n*   Perl name: useobjectfiles\n\n*   Apache name: MasonUseObjectFiles\n\n*   Type in httpd.conf: boolean\n\n*   Default: 1\n\n*   Belongs to: \"HTML::Mason::Interp\"\n\nTrue or false, default is true. Specifies whether Mason creates object files to save the results\nof component parsing. You may want to turn off object files for disk space reasons, but\notherwise this should be left alone.\n\nusesourcelinenumbers\n*   Perl name: usesourcelinenumbers\n\n*   Apache name: MasonUseSourceLineNumbers\n\n*   Type in httpd.conf: boolean\n\n*   Default: 1\n\n*   Belongs to: \"HTML::Mason::Compiler\"\n\nTrue or false, default is true. Indicates whether component line numbers that appear in error\nmessages, stack traces, etc. are in terms of the source file instead of the object file. Mason\ndoes this by inserting '#line' directives into compiled components. While source line numbers\nare more immediately helpful, object file line numbers may be more appropriate for in-depth\ndebugging sessions.\n\nusestrict\n*   Perl name: usestrict\n\n*   Apache name: MasonUseStrict\n\n*   Type in httpd.conf: boolean\n\n*   Default: 1\n\n*   Belongs to: \"HTML::Mason::Compiler::ToObject\"\n\nTrue or false, default is true. Indicates whether or not a given component should \"use strict\".\n\nusewarnings\n*   Perl name: usewarnings\n\n*   Apache name: MasonUseWarnings\n\n*   Type in httpd.conf: boolean\n\n*   Default: 1\n\n*   Belongs to: \"HTML::Mason::Compiler::ToObject\"\n\nTrue or false, default is false. Indicates whether or not a given component should \"use\nwarnings\".\n",
                "subsections": []
            }
        }
    }
}