加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

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

发布时间:2020-12-15 21:57:37 所属栏目:大数据 来源:网络整理
导读:我有一个分叉服务器.我在fork之前加载所有模块. ……还是我?我希望在程序中的某个点之后加载的每个模块都将一条消息记录到STDERR. 我打算使用以下内容,但它记录了一些使用do执行的脚本. my %ignore = map { $_ = 1 } ( ... );unshift @INC,sub { my (undef,
我有一个分叉服务器.我在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 =~ /.pmz/ && !$ignore{$path};

足以区分?

其他选择:

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

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读