perl - 如何使用 ModPerl::Registry(mod_perl 处理程序)检测 Perl 中的 Web 脚本是否运行?

标签 perl web-applications mod-perl

如果使用 ModPerl::Registry 运行,是否可以在 mod_perl 下运行的 Web 应用程序中进行检测? ?

我想编写在 ModPerl::Registry(或类似处理程序)下运行的脚本,但也可以作为 mod_perl 响应处理程序运行。

最佳答案

ModPerl::Registry 精心设计将您的代码与系统中的其他所有内容隔离开来,其中一部分是将其编译到ModPerl::ROOT 下的一个包中。 .

当在列表上下文中使用指定要返回的帧数的参数调用时, caller 返回

#  0         1          2      3            4
($package, $filename, $line, $subroutine, $hasargs,
#  5          6          7            8       9         10
$wantarray, $evaltext, $is_require, $hints, $bitmask, $hinthash)
 = caller($i); 


哪里$subroutine value 是一个完全限定的名称。

ModPerl::Registry 将整个程序包装在一个名为 handler 的子文件中。在上述人工包中,因此从您的主程序中,使用类似于
my $name = (caller 0)[3];
if ($name =~ /^ModPerl::ROOT::/) {
  # run using ModPerl::Registry
  ...
}

关于perl - 如何使用 ModPerl::Registry(mod_perl 处理程序)检测 Perl 中的 Web 脚本是否运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3221053/

相关文章:

perl - 如何编写支持 CGI、FastCGI 和 mod_perl 的 Perl Web 应用程序?

xml - 使用 perl 或 awk 从 xml 数据中删除 xml 声明

Perl 服务器端跨域检测

sql-server - Perl ADO 认为存储过程中的打印输出是错误!

java - Web 应用程序的安装最佳实践

web-applications - 任何人都可以想到一些很好的理由*不*使用面向对象的DBMS来支持网站吗?

java - 如何在 Vaadin 中打印

perl - 在 OSX Lion Apache 服务器上设置 mod_perl

perl - Marpa 解析器库是否支持错误恢复?

c - 在 C 中操作字符串 Perl SV