samedi 22 mars 2008
Mise en forme automatique de code Perl
Par Pause Choco, samedi 22 mars 2008 à 15:41 :: Perl
En lisant l'excellent livre « De l'art de programmer en Perl » de Damian Conway, un livre qui a l'objectif de vous aider à écrire un meilleur code Perl au travers de 256 recommandations, j'ai découvert l'outil de formatage de code pour Perl perltidy.
L'outil perltidy est un lui même écrit en langage Perl et distribué sous la licence libre GPL, et disponible en paquet Debian sous Ubuntu 7.10 et Debian Etch. Un simple « apt-get install perltidy » dans un terminal suffit à l'installer.
Il existe une foule d'options configurables par l'utilisateur pour l'indentation, le positionnement des délimiteurs de blocs, l'alignement des colonnes et la position des commentaires. Pour obtenir le style d'indentation donné dans le chapitre 2 du livre de Damian Conway, ce dernier propose de configurer le fichier .perltidyrc (qui se trouve à la racine de votre répertoire home) de la manière suivante :
-l=78 # Longueur maximale 78 colonnes
-i=4 # Niveau d'indentation 4 colonnes
-ci=4 # Indentation de continuation 4 colonnes
-vt=2 # Serrage vertical maximal
-cti=0 # Pas d'indentation supplémentaire ppor parenthèses fermantes
-pt=1 # Serrage moyen des parenthèses
-bt=1 # Serrage moyen des accolades
-sbt=1 # Serrage moyen des crochets
-bbt=1 # Serrage moyen des accolades de blocc
-nsfs # Pas d'espace avant point virgule
-nolq # Ne pas désindenter les longues chaînes quotées
-wbb="% + - * / x != == >= <= =~ !~ < > | & >= < = **= += *= &= <<= &&= -= /= |= >>= ||= .= %= ^= x="
# Scinder avant tous les opérateurs
Ensuite dans un terminal il suffit de taper « perltidy script-perl.pl », l'outil perltidy génère le résultat dans un autre fichier avec l'extension *.tdy, dans notre exemple « script-perl.pl.tdy ». Si le résultat est satisfaisant comme dans la majorité des cas il suffit de renommer le fichier par la commande « mv script-perl.pl.tdy script-perl.pl ».
J'ai trouvé mon exemplaire « De l'art de programmer en Perl » à la librairie Eyrolles, une référence pour tous ceux qui apprécient la programmation en langage Perl.