Perltidy всегда печатает на стандартный
Мой 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
что может быть причиной этого? Я не могу найти что-нибудь, чтобы объяснить это.
1 ответ
Документация говорит в разделе Стили
-pbp, --perl-best-Practices
-pbp - это сокращение от параметров в книге 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 действовать как фильтр только для одного файла. Их можно переопределить, поместив -nst и / или -nse после параметра -pbp.
(мой акцент) Соответствующие флаги описаны в разделе управления вводом / выводом.
Я не знаю почему -pbp
включает флаги для печати в стандартные потоки, что подразумевает, что должен быть только один входной файл, но может быть причина; так что может быть хорошей идеей детально проверить, что делают все эти флаги под ним.
Я нахожу это -nst
(--nostandard-ouput
) работает даже сразу после -pbp
на той же линии.