2

我只是在配置 Perl::Tidy 以匹配我的偏好。我只剩下一个问题,我找不到解决办法。

示例脚本:

#!/usr/bin/perl
#   |   |   |   |   |   < "|" indicates first five "tabs" (1 tab 4 spaces).
use strict;     # Enable strict programming mode.
use warnings;   # Enable Perl warnings.
use utf8;       # This is an UTF-8 encoded script.
1;

perltidyrc:

# Perl Best Practices (plus errata) .perltidyrc file

-l=76   # Max line width is 76 cols
-i=4    # Indent level is 4 cols
-ci=4   # Continuation indent is 4 cols
-et=4   # 1 tab represent 4 cols
-st     # Output to STDOUT
-se     # Errors to STDERR
-vt=2   # Maximal vertical tightness
-cti=0  # No extra indentation for closing brackets
-pt=0   # Medium parenthesis tightness
-bt=1   # Medium brace tightness
-sbt=1  # Medium square bracket tightness
-bbt=1  # Medium block brace tightness
-nsfs   # No space before semicolons
-nolq   # Don't outdent long quoted strings
-wbb="% + - * / x != == >= <= =~ < > | & **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
        # Break before all operators

# extras/overrides/deviations from PBP

#--maximum-line-length=100               # be slightly more generous
--warning-output                        # Show warnings
--maximum-consecutive-blank-lines=2     # default is 1
--nohanging-side-comments               # troublesome for commented out code

-isbc   # block comments may only be indented if they have some space characters before the #

# for the up-tight folk :)
-pt=2   # High parenthesis tightness
-bt=2   # High brace tightness
-sbt=2  # High square bracket tightness

结果:

#!/usr/bin/perl
#   |   |   |   |   |   < "|" indicates first five "tabs" (1 tab 4 spaces).
use strict;      # Enable strict programming mode.
use warnings;    # Enable Perl warnings.
use utf8;        # This is an UTF-8 encoded script.
1;

如您所见,有一个前导空格导致“#”与第四个选项卡不匹配。

如何删除这个领先的空间?

4

1 回答 1

3

Perltidy 只能更改 perl 代码,因为它知道 perl 代码的含义。评论可以包含完全任意的数据,因此 perltidy 无法触及它。所以,这种事情你要自己解决。

于 2012-10-07T13:20:02.363 回答