Как моя Perl-программа может определить, работает ли она под mod_perl?
Я думаю о глобальных переменных или переменных окружения.
Меня беспокоит только mod_perl> = 2.
В соответствии с «Переменные среды» в руководстве пользователя mod_perl :
$ENV{MOD_PERL} - это версия mod_perl, под которой работает сервер.Например: mod_perl/2.000002 Если $ENV{MOD_PERL} не существует, скорее всего, вы не используете mod_perl. die "I refuse to work without mod_perl!" unless exists $ENV{MOD_PERL};
$ENV{MOD_PERL} - это версия mod_perl, под которой работает сервер.Например:
$ENV{MOD_PERL}
mod_perl/2.000002
Если $ENV{MOD_PERL} не существует, скорее всего, вы не используете mod_perl.
die "I refuse to work without mod_perl!" unless exists $ENV{MOD_PERL};
(см. Ссылку выше для получения дополнительной информации).
http://perl.apache.org/docs/2.0/user/coding/coding.html#Environment_Variables говорит, что будет переменная окружения MOD_PERL, так что вы можете проверить это, используя выражение
MOD_PERL
exists $ENV{MOD_PERL}