Ответ 1
Perl::Tidy
может это сделать и многое другое. Он обычно используется через perltidy
исполняемый файл, который он устанавливает.
Кошка в моей компании прошла через клавиатуру и оставила действительную 1000-строчную версию исполняемого кода Perl для меня.
Благодаря философии Perl TMTOWTDI я обнаружил, что искал Google, чтобы понять каждую строку кода, которую она выпустила.
Чтобы добавить к моему сожалению, код не имеет отступов и обнаруживает частое появление двух операторов в одной строке, невозможность выяснить, является ли цикл внешним/внутренним.
Как я могу автоматически использовать этот код Perl для здравомыслия? Да, я уверен, что будет какой-то модуль CPAN, который это сделает. Как насчет какого-то внешнего инструмента? Любые подсказки?
Perl::Tidy
может это сделать и многое другое. Он обычно используется через perltidy
исполняемый файл, который он устанавливает.
Perl Tidy - действительно полезная утилита. Он поставляется с множеством оплотов. Есть несколько рекомендаций в http://perltidy.sourceforge.net/ и http://perltidy.sourceforge.net/tutorial.html
Например, -i=8
переопределяет количество пробелов в отступ (по умолчанию = 4) и -bl
помещает фигурные скобки в новую строку:
if ( $something )
{
print ".....";
}
Я бы предложил сыграть на копии кода и посмотреть, какой вариант вам больше подходит.
Вы можете либо установить его из CPAN, либо изменить другие параметры http://perltidy.sourceforge.net/ в зависимости от вашей платформы и вкуса!
Вот несколько примеров использования perltidy
с поведением по умолчанию:
Включить cuddled-elses (например, } else {
), ограничить длину строки до 300 символов для всех файлов .pl
$ perltidy -ce -l=300 *.pl
Поддерживать старые точки останова запятой, заморозить существующие пробелы в script.pl
$ perltidy -boc -fws script.pl
Резервное копирование script и изменение script1.pl, script2.pl на месте
$ perltidy -b script1.pl script2.pl
"Обфускать" script, удалив его как можно большим количеством пробелов.
$ perltidy --mangle scipt.pl
Как и в большинстве случаев, если вы search CPAN, у вас есть ответ быстрее, чем для входа в Stack Overflow.:)
В этом случае он Perl:: Tidy, как уже говорили другие люди. У нас есть еще несколько советов об этом в "Эффективном программировании на Perl".
Вы также можете использовать онлайн-инструмент http://www.cleancss.com/perl-beautify/.