gpt4 book ai didi

perl - 是否有从 Perl 模块文件中提取所有变量、模块和函数名称的工具?

转载 作者:行者123 更新时间:2023-12-04 13:01:33 26 4
gpt4 key购买 nike

如果这是重复的,我深表歉意;我可能不知道要搜索的正确术语。

我的任务是分析作为较大应用程序片段的 Perl 模块文件 (.pm)。是否有工具、应用程序或脚本可以简单地检查代码并提取所有变量名、模块名和函数调用?更好的是可以识别它是在这个文件中声明的还是外部的。

这样的工具存在吗?我只得到一个文件,所以这不是我可以执行的——我猜只是一些基本的静态分析。

最佳答案

查看新的,但值得推荐的 Class::Sniff .

从文档:

use Class::Sniff;
my $sniff = Class::Sniff->new({class => 'Some::class'});

my $num_methods = $sniff->methods;
my $num_classes = $sniff->classes;
my @methods = $sniff->methods;
my @classes = $sniff->classes;

{
my $graph = $sniff->graph; # Graph::Easy
my $graphviz = $graph->as_graphviz();

open my $DOT, '|dot -Tpng -o graph.png' or die("Cannot open pipe to dot: $!");
print $DOT $graphviz;
}

print $sniff->to_string;
my @unreachable = $sniff->unreachable;
foreach my $method (@unreachable) {
print "$method\n";
}

这将使您大部分时间到达那里。一些 variables ,根据范围,可能不可用。

关于perl - 是否有从 Perl 模块文件中提取所有变量、模块和函数名称的工具?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1343630/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com