2010-10-16 20 views
15

Kot w mojej firmie przeszedł przez klawiaturę i pozostawił dla mnie ważny 1000 wierszy kodu wykonywalnego Perla.Jak mogę automatycznie uporządkować kod źródłowy Perla?

Dzięki filozofii Perl TMTOWTDI, szukam w Google, aby zrozumieć każdą linię kodu, którą wyprodukowała.

Aby dodać do mojego nieszczęścia, kod nie jest wcięty, a jedno często występuje w dwóch linijkach w jednej linii, nie można określić, czy pętla jest zewnętrzna/wewnętrzna.

Jak mogę automatycznie zamykać ten kod Perla na zdrowie psychiczne? Tak, założę się, że będzie jakiś moduł CPAN, który to robi. Co powiesz na jakieś narzędzie zewnętrzne? Jakieś wskazówki?

+0

-1 za wesołość – MkV

+1

@MkV To boli –

+5

+1 za wesołość :) – ttvd

Odpowiedz

6

Perl Tidy to naprawdę przydatne narzędzie. Zawiera szereg opcji.
Istnieją pewne wskazówki co http://perltidy.sourceforge.net/ i http://perltidy.sourceforge.net/tutorial.html

Na przykład -i=8 overides liczba miejsc wcięcia (domyślnie = 4) i -bl stawia szelki na nowej linii:

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

Proponuję gra na kopię kodu i zobaczenie, która opcja najbardziej Ci odpowiada.

Można go zainstalować z CPAN lub różnych innych opcji na http://perltidy.sourceforge.net/ w zależności od platformy i gustu!

6

Oto kilka przykładów, jak używać perltidy z innych niż domyślne zachowanie:

  • Włącz przytuliła-elses (. Np } else {), linia graniczna długości do 300 znaków dla wszystkich plików .pl

    $ perltidy -ce -l=300 *.pl 
    
  • Utrzymanie starych breakpoints przecinek, zamrażać istniejących spacje w script.pl

    $ perltidy -boc -fws script.pl 
    
  • backup skrypt i modyfikują script1.pl, script2.pl w miejscu

    $ perltidy -b script1.pl script2.pl 
    
  • „rozwodnić” skryptu przez odpędzenie go o tyle spacji, jak to możliwe.

    $ perltidy --mangle scipt.pl 
    
1

Jak większość rzeczy, jeśli was search CPAN, masz odpowiedź szybciej niż trwa Państwo zalogować się do przepełnienie stosu. :)

W tym przypadku jest to Perl::Tidy, o czym już wspominały inne osoby. Mamy też trochę więcej porad na ten temat w Effective Perl Programming.

Powiązane problemy