Tout dépend de ce que j'ai à faire ...
Pour des traitements complexes, Perl s'appuyant sur CPAN qui fournit des modules à tout faire, c'est quand même très confortable.
Pour des traitements plus simples, faut voir ...
S'il s'agit d'une simple copie de fichiers ou d'un déplacement périodique de répertoire, les scripts UNIX font ça très bien.
Ils peuvent cependant être nettement épaulés par une petite injection d'EPO (Efficacité Perl Optimale
)
Ainsi, la suppression des fichiers trouvés par un find en est l'exemple le plus fréquent :
find ... -exec rm -f {} \;
C'est la démarche classique, dont on ne se rend que trop rarement compte qu'elle génère un foisonnement de processus, gaspilleur de ressources.
find ... -print0 | perl -n0e unlink
Est beaucoup plus efficace. Le find formate une liste des fichiers qui est pipée sur perl, qui comprend le formatage de la liste et boucle un unlink dessus (exemple tiré de perldoc perlrun). Il n'y a donc qu'un seul processus pour dégager tous les fichiers, au lieu d'un par rm dans l'autre cas.
Je n'ai aucun scrupule à tout faire cohabiter, même si ma préférence va au "tout perl", ne serait-ce que parce que cela offre une syntaxe homogène et cohérente, ce qui facilite la maintenance - à la seule condition de savoir lire et écrire Perl
.
Partager