2014-12-02 74 views
3

我有一個實用程序子程序的大集合,卡在一個巨大的Perl模塊myUtil.pm中。我試圖弄清楚這堆子程序如何相互依賴。在Perl模塊中剖析子模塊的依賴關係

我找到了Module::ScanDeps,它在模塊中尋找依賴項。有沒有類似的工具,它看起來在模塊內依賴

我寧願有一個靜態分析,因爲我不太確定我有足夠的測試用例來覆蓋所有的代碼路徑。

回答

3

可能有一些更新(和基於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 
+1

嗯..'分割故障(核心轉儲)' - 我沒想到我的模塊是_that_凌亂:/ – ajwood 2014-12-02 20:48:18

+0

有趣;報告它是一個錯誤 – ysth 2014-12-02 21:56:59

+0

使用PPI編碼自己的東西應該不是那麼多工作 – ysth 2014-12-02 21:57:25