我有一个分叉服务器.我在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进行静态代码分析(使用或基于@L_502_0@).
根据SIGHUP或其他信号将%INC转储到文件中.