3
我有一个实用程序子程序的大集合,卡在一个巨大的Perl模块myUtil.pm
中。我试图弄清楚这堆子程序如何相互依赖。在Perl模块中剖析子模块的依赖关系
我找到了Module::ScanDeps,它在模块中寻找依赖项。有没有类似的工具,它看起来在模块内依赖?
我宁愿有一个静态分析,因为我不太确定我有足够的测试用例来覆盖所有的代码路径。
我有一个实用程序子程序的大集合,卡在一个巨大的Perl模块myUtil.pm
中。我试图弄清楚这堆子程序如何相互依赖。在Perl模块中剖析子模块的依赖关系
我找到了Module::ScanDeps,它在模块中寻找依赖项。有没有类似的工具,它看起来在模块内依赖?
我宁愿有一个静态分析,因为我不太确定我有足够的测试用例来覆盖所有的代码路径。
可能有一些更新(和基于PPI的),但旧的B ::外部参照这样做。
Foo.pm:
package Foo;
use 5.014;
use warnings;
sub foo { bar() }
sub bar { $_[0]-- and bar() }
sub baz { foo(); bar() }
1;
perl -MO=Xref -e'use Foo'
:
...
File Foo.pm
Subroutine (definitions)
Package Foo
&bar s4
&baz s6
&foo s4
Subroutine Foo::bar
Package Foo
&bar &5
Subroutine Foo::baz
Package Foo
&bar &6
&foo &6
Subroutine Foo::foo
Package Foo
&bar &4
嗯..'分割故障(核心转储)' - 我没想到我的模块是_that_凌乱:/ – ajwood 2014-12-02 20:48:18
有趣;报告它是一个错误 – ysth 2014-12-02 21:56:59
使用PPI编码自己的东西应该不是那么多工作 – ysth 2014-12-02 21:57:25