在 Perl 项目中,通常如何修复脚本中的错误?请任何人都可以给出一些想法。提前致谢。
问问题
238 次
2 回答
4
我的第一个想法是perldoc perldebug
我认为这是更好的起点。
我的第二个是:总是放
use strict;
use warnings;
在你的脚本的顶部,你可以把
use diagnostics;
也用于产生更详细的警告诊断
在打开 Pandora 盒子之前,先利用 Perl 模块Data::Dumper
。
显示所有(嵌套)数据结构和对象很有用,请参阅(我使用perlconsole
,尝试一些技巧很好):
$ perlconsole
Perl Console 0.4
Perl> my $ref = { foo => 'bar', arr => [ 1, 2, 3, [ qw/a z e r t y/ ] ] }
HASH(0x1fc25a8)
Perl> use Data::Dumper;
Perl> print Dumper $ref;
$VAR1 = {
'foo' => 'bar',
'arr' => [
1,
2,
3,
[
'a',
'z',
'e',
'r',
't',
'y'
]
]
};
1
Perl>
你会看到 Perl 可以在调试器中运行脚本
perl -d -e 42 script.pl
帮忙说:
$ perl --help | grep -- '-d'
-d[:debugger] run program under debugger
您也可以使用以下命令“追踪”它:
perl -d:Trace script.pl
还有一个gui调试器,它带有Devel::ptkdb
模块,例如:
perl -d:ptkdb script.pl
尝试
perlcritic
还有一个用于批评 Perl 源代码的命令行界面。
也可以分析您的代码,请参阅
http://metacpan.org/pod/Devel::NYTProf
http://blog.timbunce.org/2008/07/15/nytprof-v2-a-major-advance-in-perl-profilers/
于 2012-11-20T13:32:33.607 回答
3
perl -c <your program>
...将在 Perl 脚本中为您提供任何语法错误,包括您可以在 Internet 上查找的特定错误消息。
另外,给自己一个机会:-
use strict;
在每个 Perl 文件的顶部。没有它,Perl 会自动激活你输入错误的变量。有了它,任何未声明的变量都算作语法错误。
于 2012-11-20T13:32:35.363 回答