The first column represents directives that can appear in the global
configuration; that is, outside all sections. Note that
PerlTaintCheck, PerlWarn, and
PerlFreshRestart can be placed inside
<VirtualHost>sections. However, because
there's only one Perl interpreter for all virtual
hosts and the main server, setting any of these values in one virtual
host affects all other servers. Therefore, it's
probably a good idea to think of these variables as being allowed
only in the global configuration.
The second column represents directives that can appear inside the
<VirtualHost>sections.
The third column represents directives that can appear in the
<Directory>,
<Location>, and
<Files>sections and all their regex
variants. These mod_perl directives can also appear in
.htaccess files.
For example, PerlWarn cannot be used in
<Directory> and
<VirtualHost>sections. However,
PerlSetEnv can be used anywhere, which allows you
to provide different behavior in different sections:
In this example, a handler invoked from
/bar/manage/ will see the
ADMIN_EMAIL environment variable as
[email protected], while other handlers configured
elsewhere will see ADMIN_EMAIL as the default
value, [email protected].