我公司的一只猫走过键盘,留下了有效的1000多行可执行Perl代码供我维护。
感谢Perl的TMTOWTDI理念,我发现自己正在搜索Google以了解她所生成的每一行代码。
为了增加我的痛苦,代码没有缩进,并且在一行中发现两个语句频繁出现,无法确定循环是外部还是内部。
如何自动将此Perl代码置于健全状态?是的,我打赌会有一些CPAN模块可以做到这一点。一些外部工具怎么样?有线索吗?
答案 0 :(得分:23)
Perl::Tidy
可以做到这一点,还有更多。它通常通过它安装的perltidy
可执行文件使用。
答案 1 :(得分:6)
Perl Tidy是一个非常有用的实用程序。它配备了一系列选项。
http://perltidy.sourceforge.net/和http://perltidy.sourceforge.net/tutorial.html
例如-i=8
覆盖要缩进的空格数(默认值= 4),-bl
将括号放在新行上:
if ( $something )
{
print ".....";
}
我建议在代码副本上播放,看看你最喜欢哪个选项。
您可以从CPAN安装,也可以在http://perltidy.sourceforge.net/上更改其他选项,具体取决于您的平台和品味!
答案 2 :(得分:6)
以下是如何将perltidy
与非默认行为一起使用的几个示例:
启用cuddled-elses(例如} else {
),将所有.pl文件的行长限制为300个字符
$ perltidy -ce -l=300 *.pl
维护旧的逗号断点,冻结script.pl中的现有空格
$ perltidy -boc -fws script.pl
备份脚本并修改script1.pl,script2.pl就地
$ perltidy -b script1.pl script2.pl
通过剥离尽可能多的空格来'混淆'脚本。
$ perltidy --mangle scipt.pl
答案 3 :(得分:1)
与大多数事情一样,如果您search CPAN,您的答案要比登录Stack Overflow时更快。 :)
在这种情况下,正如其他人已经提到的那样Perl::Tidy。我们在 Effective Perl Programming 中也有一些更长的建议。
答案 4 :(得分:0)
您还可以使用在线工具http://www.cleancss.com/perl-beautify/。