首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何调试在另一个perlscript中使用的perl脚本?

如何调试在另一个perlscript中使用的perl脚本?
EN

Stack Overflow用户
提问于 2012-08-17 20:35:54
回答 4查看 721关注 0票数 2

如何调试在另一个perl脚本中使用的perl脚本。我们可以分别对两者进行调试。可以在一个步骤中进行调试吗?

例如:

代码语言:javascript
复制
!/user/bin/perl

my $param= 8;

my @res=\`perl extract.pl $config`;

print "The results is ....  @res\n";

同样,我们可以调试shell脚本中使用的perl脚本吗?

谢谢。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2012-08-17 23:48:23

动态解决方案:

代码语言:javascript
复制
my $dswitch = $INC{"perl5db.pl"} ? "-d" : "";
my @res=`perl $dswitch extract.pl $config`;

当您使用调试器时,$INC{"perl5db.pl"}为true,而当您不使用调试器时,则为false。

票数 4
EN

Stack Overflow用户

发布于 2012-08-17 20:41:56

您可以将-d开关添加到您正在调用的脚本的shebang行:

代码语言:javascript
复制
#!/usr/bin/perl -d
票数 4
EN

Stack Overflow用户

发布于 2012-08-17 21:27:29

“正确”的做法应该是更改您的设计,这样您就不会通过系统命令调用其他脚本。那么你就有了一个单一的调试环境。

最好的设计是把extract.pl变成一个模块。

您还可以使用do命令从另一个文件do 'extract.pl'导入代码。那么唯一需要更改的可能就是传入$config的方式。

这两种方法中的任何一种都非常容易实现,并且对于继续开发都有其他好处。也许你有一个很好的理由不这样做,但如果你还没有这样做,我会先考虑一下。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12005946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档