#!/usr/bin/perl -w #ouverture locale use locale; #ouverture d'un fichier en position 0 dans cygwin béta 20, référencé ensuite par FILE open (FILE,"$ARGV[0]"); #ouverture d'un fichier en écriture, si ce fichier existait auparavant : l'ancien contenu est écrasé. #ce fichier s'appelle "resultat2.txt" open (OUT,">resultat2.txt"); #while est une boucle qui signifie "tant que". #A l'intérieur des parenthèse, on a la condition qui est de lire toutes les lignes du fichier. Ces lignes sont stockés dans la variable $a #Tant que je peux lire des lignes, je le fais... la condition étant rempli, on peut donc rentrer à l'intérieur de la boucle. while ($a=){ #Si dans la variable "a", il y a le motif recherché alors je fais: #Ici, on utilise les expressions régulières pour prendre le premier mot de chaque vers. #Ce symbole ^ signifie "début de ligne" et celui-ci \W+ signifie qu'il recherche les caractères. #On met des parenthèses à \W+ pour renvoyer à une suite de chaîne de caratères. Cette suite de chaîne de caratères va être le premier mot if ($a=~/^(\w+)/) { #il va une impression de la variable $1 dans le fichier sortie OUT #En perl, la variable $1 renvoie à l'argument mise en parenthèse au-dessus: (\w+) print OUT $1; } } #On ferme le fichier de lecture close (FILE); #On ferme le fichier de sortie close(OUT);