如何检查Perl脚本是否没有编译错误?

前端之家收集整理的这篇文章主要介绍了如何检查Perl脚本是否没有编译错误?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我在我的Bash脚本中调用许多Perl脚本(有时从csh)。

在Bash脚本的开头我想要一个测试,检查所有的Perl脚本是否没有任何编译错误

这样做的一种方法是从Bash脚本调用Perl脚本,并在管道日志文件调用grep for“编译错误”,但是由于不同的Perl脚本在代码中的不同点被调用,所以我变得很乱。在Bash脚本的开头做到这一点。

有没有办法检查Perl脚本是否没有编译错误

解决方法

谨防!!

使用以下命令检查Perl程序中的编译错误可能很危险。

$ perl -c yourperlprogram

兰德尔写了一个很好的文章,你应该检查这个话题

> Sanity-checking your Perl code(Linux Magazine Column 91,2007年3月)

引用他的文章

Probably the simplest thing we can tell is “is it valid?”. For this,
we invoke perl itself,passing the compile-only switch:

06001

For this operation,perl compiles the program,
but stops just short of the execution phase. This means that every
part of the program text is translated into the internal data
structure that represents the working program,but we haven’t actually
executed any code. If there are any Syntax errors,we’re informed,and
the compilation aborts.

Actually,that’s a bit of a lie. Thanks to BEGIN blocks (including
their layered-on cousin,the use directive),some Perl code may have
been executed during this theoretically safe “Syntax check”. For
example,if your code contains:

06002

then you will see that message,
even during perl -c! This is somewhat surprising to people who
consider “compile only” to mean “executes no code”. Consider the
code that contains:

06003

and you’ll see the problem with that argument. Oops.

猜你在找的Perl相关文章