我的Perltidy始终打印为标准输出,而不是默认的test.pl.tdy
:
perltidy test.pl
这是我的.perltidyrc
:
-pbp # Start with Perl Best Practices
-w
-l=100 # 100 characters per line
-ce # 'cuddled' elses. elses appear on the same line as last brace
-pt=2 # no parentheses spacing
-pt=2 # High parenthesis tightness
-bt=2 # High brace tightness
-sbt=2 # High square bracket tightness
-bar # opening braces right
-nsbl # open subroutine brace on right
-bbvt=1 # Block Brace Vertical Tightness
-sot # stack opening tokens
-sct # stack closing tokens
-nsfs # no For Loop Semicolon Spaces
-nolq # don't outdent long strings
即使我这样做:
perltidy -b test.pl
它仍将打印为标准输出,而不会转到test.pl.bak
。我可以将其转到其他文件的唯一方法是:
perltidy test.pl > test.pl.tdy
我的.perltidyrc
中是否有可能导致此问题的原因?我似乎找不到任何解释。
答案 0 :(得分:4)
-pbp,--perl-最佳实践
-pbp是Damian Conway撰写的Perl Best Practices一书中参数的缩写:-l=78 -i=4 -ci=4 -st -se -vt=2 -cti=0 -pt=1 -bt=1 -sbt=1 -bbt=1 -nsfs -nolq -wbb="% + - * / x != == >= <= =~ !~ < > | & = **= += *= &= <<= &&= -= /= |= >>= ||= //= .= %= ^= x="
请注意,此参数集包括-st和-se标志,它们使perltidy仅充当一个文件的过滤器。可以通过在-pbp参数之后放置-nst和/或-nse 来覆盖这些参数。
(我的强调){相关标志在I/O control section中进行了描述。
我不知道为什么-pbp
包含要打印到标准流的标志,这意味着必须只有一个输入文件,但这可能是有原因的;因此最好仔细检查其下所有这些标志的作用。
我发现-nst
(--nostandard-ouput
)甚至在-pbp
之后的 right 上也能正常工作。