perl – 确定程序启动后加载的模块

前端之家收集整理的这篇文章主要介绍了perl – 确定程序启动后加载的模块前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个分叉服务器.我在fork之前加载所有模块.

……还是我?我希望在程序中的某个点之后加载的每个模块都将一条消息记录到STDERR.

我打算使用以下内容,但它记录了一些使用do执行的脚本.

my %ignore = map { $_ => 1 } ( ... );
unshift @INC,sub {
   my (undef,$path) = @_;
   warn("$path wasn't loaded before forking.\n")
      if !$ignore{$path};

   return ();
};

我没有想法,但在我花费更多时间之前,我想知道是否有现成的解决方案.

解决方法

用的是什么?很简单
if $path =~ /\.pm\z/ && !$ignore{$path};

足以区分?

其他选择:

使用PPI进行静态代码分析(使用或基于Module::Extract::Use).

根据SIGHUP或其他信号将%INC转储到文件中.

原文链接:https://www.f2er.com/Perl/171833.html

猜你在找的Perl相关文章