找出哪些脚本正在调用 perl 包

JSc*_*rry 7 perl

如果这很明显,我不是 perl 程序员所以很抱歉。我正在使用的系统上有一个我想修改的 perl 包,但我不知道还有哪些其他程序在使用它。我可以看出至少有三个 cron 作业使用它,因为我将这些行放入文件中:

open(STDOUT, '>', "/var/log/SS_logs/packageAlert.log");
open(STDERR, '>', "/var/log/SS_logs/packageAlert.error.log");

print "\nThe program packageAlert.pm  is running on " . `date` . "\n";
Run Code Online (Sandbox Code Playgroud)

10 分钟后,我的日志中出现了三行。可能会有更多人每天或每周调用它,也可以在网页中调用它。

我用grep -R "SS::alert"搜索了包的出现所以要知道有 20 个左右的脚本和网页可能会使用这个包。

有没有我可以调用的函数来找出哪个文件调用了包?

bri*_*foy 3

调用函数可以告诉您调用您的文件(这与让 modulinos 工作相同)。

use v5.10;
say "Loading " . __FILE__ . " at " . localtime();

use File::Spec::Functions qw(rel2abs);
my $calling_file = rel2abs( (caller(0))[1] );

say "Loaded by $calling_file";
1;
Run Code Online (Sandbox Code Playgroud)