【问题标题】:How can I automatically tidy up Perl source code?如何自动整理 Perl 源代码?
【发布时间】:2010-10-16 08:03:14
【问题描述】:

我公司的一只猫走过键盘,留下了 1000 多行有效的可执行 Perl 代码供我维护。

感谢 Perl 的 TMTOWTDI 哲学,我发现自己正在搜索 Google 以了解她生成的每一行代码。

更让我痛苦的是,代码没有缩进,并且发现两条语句经常出现在一行中,无法确定循环是外循环还是内循环。

我怎样才能自动使这个 Perl 代码保持理智?是的,我打赌会有一些 CPAN 模块可以做到这一点。一些外部工具怎么样?有什么线索吗?

【问题讨论】:

    标签: perl autoformatting perl-tidy


    【解决方案1】:

    Perl::Tidy 可以做到这一点,甚至更多。它通常通过它安装的perltidy 可执行文件来使用。

    【讨论】:

      【解决方案2】:

      Perl Tidy 是一个非常有用的实用程序。它带有一系列令人讨厌的选项。
      http://perltidy.sourceforge.net/http://perltidy.sourceforge.net/tutorial.html 有一些指导

      例如,-i=8 覆盖要缩进的空格数(默认 = 4),-bl 将大括号放在新行上:

       if ( $something )
       {
           print ".....";
       }
      

      我建议在代码副本上玩一下,看看你最喜欢哪个选项。

      您可以从 CPAN 安装它,也可以在 http://perltidy.sourceforge.net/ 上安装其他选项,具体取决于您的平台和口味!

      【讨论】:

        【解决方案3】:

        以下是一些如何将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
          

        【讨论】:

          【解决方案4】:

          与大多数事情一样,如果您search CPAN,您得到答案的速度比您登录 Stack Overflow 的速度要快。 :)

          在这种情况下,它是 Perl::Tidy,正如其他人已经提到的那样。我们在Effective Perl Programming中也对此有一些更长的建议。

          【讨论】:

            【解决方案5】:

            您也可以使用在线工具http://www.cleancss.com/perl-beautify/

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2011-04-26
              • 2010-12-12
              • 2021-08-03
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              相关资源
              最近更新 更多