1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42

DESS TIMH

B.Parcours de fichier

Introduction au langage Perl

IMAGE imgs/introperl31.gif

Qui se contente de lire le contenu du (ou des) fichier(s) passé(s) en paramètre pour l'afficher à
l'écran.

IMAGE imgs/introperl32.gif

Par contre le traitement serait relativement complexe pour prendre tous les fichiers un par un, et, à
chaque fois, de lui enlever les "tags", Perl a une option (-i) qui permet de renommer le fichier
d'origine et le résultat de la transformation sera écrite dans le fichier lui-même.
Cela parait compliqué mais c'est bien utile pour faire des transformations automatique sur plusieurs
fichiers en même temps.
Cette option (-iextension) se met dans la première ligne :

IMAGE imgs/introperl33.gif

Ainsi on peut lui donner en paramètre tous les fichiers HTML d'un répertoire, ils seront tous
renommés sous la forme fichier.HTML.avectag, et le fichier HTML de départ sera le résultat du
programme.

Remarque :
Sous Unix, pour tester une petite commande Perl, on peut appeler Perl sans créer de programme
avec la syntaxe :
noemed%
perl -e 'commande'

Ou même on peut l'utiliser pour appliquer une commande à chaque ligne :
ls /users/dess | perl -n -e 'print if (! /protdess/);'
=> affiche tous les utilisateurs du DESS sauf protdess
=> Quand on utilise les option « n » et « e », chaque ligne lue se trouve dans la variable spéciale
$_

l'option -e permet de prendre une commande Perl en paramètre
l'option -n permet d'appliquer la commande à chaque ligne lue
l'option -iextpermet de renommer un fichier avec l'extension extavant d'appliquer des traitements

Exemple :Supprimer en une seule commande tous les tags HTML de plusieurs fichiers :
perl -n -i.sanstag -e 's/<[^>]+>//g; print;'

http://www.med.univ-rennes1.fr/~poulique/cours/perl/

Page 25

[CONVERTED BY MYRMIDON]