Perl:确定函数的定义位置

标签 perl oop methods parent-child

<分区>

Possible Duplicate:
In Perl, how can I check from which module a given function was imported?

大家好! 我正在利用周末时间梳理我们的 Web 应用程序,以便更好地了解它。它使用许多模块,这些模块的功能被拉入其中,我的问题是……我如何确定功能源自哪个模块?
我问的原因是因为我正在使用打印 STDERR 行散布在这里和那里来理解数据移动的方式(它大大揭开了事情的神秘面纱)。这是一个例子......

 ($file_data,$count) = lookup_files($customer,$site,'','0',$d);

我不确定 lookup_files() 的来源。我想看到的是这个....

 ($file_data,$count) = lookup_files($customer,$site,'','0',$d);
 print STDERR "lookup_files originates here " . <CODE TO SHOW ME WHERE lookup_files IS DEFINED>;

任何关于从哪里开始的建议将不胜感激。 webapp 使用了大量的 use 模块,而不是有选择地只导入需要的东西,每次使用似乎都带入了所有功能。
我知道在提到 Perl 的“方法”、“父”等时我的术语可能不正确。如果有人想纠正我,那也将不胜感激。我充其量只是这些东西的初学者。珍妮

最佳答案

看看核心模块Devel::Peek

http://perldoc.perl.org/Devel/Peek.html#A-reference-to-a-subroutine

该模块函数的输出将告诉您子例程的来源

关于Perl:确定函数的定义位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4700931/

相关文章:

linux - Perl 目录查找器不起作用?

perl - 架构的一元 NOT/Integersize

javascript - 有没有办法在 javascript 中隔离 native 对象扩展?

java - 面向对象编程中的访问修饰符

php - OO编程有什么好处?它会帮助我编写更好的代码吗?

Perl - 抑制控制台输出?

perl - 如何在没有许可证和构建信息的情况下获取 Perl 版本字符串?

Javascript 对象无法与 native javascript 方法(如 match()、替换等)一起使用

c# - 从字符串中删除字符的问题

C#在方法中,参数前有一个@