可能重复:
In Perl, how can I check from which module a given function was imported?
是否可以找到定义了特定perl函数的模块或文件?
例如,假设您有一个导入多个模块的perl脚本,其中一个模块使用Exporter的@EXPORT数组导出一个名为foo()的函数。如何以编程方式确定定义foo()的模块?
我尝试了以下内容:
use YAML;
sub identify_typeglob {
my $glob = shift;
print 'You gave me ', *{$glob}{PACKAGE}, '::', *{$glob}{NAME}, "\n";
}
identify_typeglob *Dump;
但这只是给了我main::Dump
,即使该函数的实际来源是YAML::Dump
。