有没有一个模块可以找到不需要的代码
举个例子,一个脚本的代码不需要运行脚本:
#!/usr/bin/env perl
use warnings;
use 5.12.0;
use utf8;
binmode STDOUT, ':utf8';
use DateTime;
use WWW::Mechanize;
sub my_print {
my ( $string, $tab, $color ) = @_;
say $string;
}
sub check {
my $string = shift;
return if length $string > 10;
return $string;
}
my_print( 'Hello World' );
不明确。众所周知,Perl在不实际执行的情况下很难进行分析,以至于编译一个稍后运行的Perl程序实际上需要包含一个Perl解释器的副本!因此,Perl的代码分析工具非常少。你能做的就是使用探查器,但这有点过头了(正如我所提到的,这需要实际执行程序。我喜欢Devel::NYTProf
。它会吐出一些HTML文件,显示每个行或子行执行了多少次,以及在那里花了多少时间,但这只适用于程序的特定执行。它会让你看到WWW::Mechanical已加载,但从未调用过,但它无法告诉你是warnings
还是binmode
对处决有任何影响。
Devel::Cover
提供了代码覆盖率度量,在这里可能有一些用处。