sid*_*com 5 optimization perl module
有没有一个模块,可以找到不需要的代码?
作为示例,脚本不需要运行脚本的代码:
#!/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' );
Run Code Online (Sandbox Code Playgroud)
不是绝对的。众所周知,如果不实际执行,Perl 就很难分析,以至于编译稍后运行的 Perl 程序实际上需要包含一个 perl 解释器的副本!因此,针对 Perl 的代码分析工具非常少。你可以做的是使用探查器,但这有点矫枉过正(正如我提到的,需要实际执行程序。我喜欢Devel::NYTProf
。这会吐出一些 HTML 文件,显示 eaqch 行或子程序被执行了多少次在那里花费了多少时间,但这仅适用于程序的特定执行。它将允许您看到 WWW::Mechanize 已加载但从未被调用,但它无法告诉您是否warnings
或binmode
有任何对执行力的影响。