perl - 如何调试 Perl 项目

标签 perl

<分区>

在一个Perl项目中,通常如何修复脚本中的bug? 请任何人都可以提供一些想法。 提前致谢。

最佳答案

我第一个想到的是perldoc perldebug

我认为这是更好的起点。

我的第二个是:总是放

use strict;
use warnings;

在你的脚本的顶部,你可以放

use diagnostics;

同样,为了产生更详细的警告诊断


在打开潘多拉魔盒之前,利用 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

有一个 调试器,它带有 Devel::ptkdb 模块,示例:

perl -d:ptkdb script.pl

ptkdb


尝试

perlcritic

也是一个命令行界面,用于批评 Perl 源代码。


分析您的代码也是可能的,请参阅

http://metacpan.org/pod/Devel::NYTProf

http://blog.timbunce.org/2008/07/15/nytprof-v2-a-major-advance-in-perl-profilers/

debug

关于perl - 如何调试 Perl 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13474255/

相关文章:

arrays - 在 Perl 中将字符串拆分为数组

arrays - 如何从 Perl 数组值中获取均匀分布的样本?

regex - perl替换文本中的算术和重复

perl - 测试通过后,有没有办法在 cpan 安装期间运行 perl 代码?

linux - 通过perl脚本在linux中按密码提示登录

perl - 我应该如何在 Perl 中使用 "my"关键字?

linux - Perl 中的 Rsync system() 执行随机失败并出现协议(protocol)错误

perl - 使用 Perl 重命名目录中的文件

mysql - Perl - 如何将数据库中的 ' 解码或替换为单引号以供浏览器显示

linux - 为 QNX 6.6.0 armle v7 交叉编译 perl