#!/usr/bin/perl -w #ouverture en local 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é. open (OUT, ">resultat.txt"); #On crée un compteur à l'aide d'une variable et on l'initialise à 1 my $compteur=1; #Tant qu'on peut associer une ligne du fichier lu à la variable $ligne, on exécute le bloc d'instructions while (my $ligne=) { #Si le contenu de la variable $ligne contient la séquence de caractères " ", suivie de n'importe quel caractère (.) répété zéro, une ou plusieurs fois (*), suivi de "2" sans autre chiffre derrière ([^0-9]), on exécute le bloc d'instructions if ($ligne=~/(.*)2[^0-9]/) { #On écrit dans le fichier resultat.txt le contenu de la variable $1 qui correspond au contenu de la première parenthèse de la ligne ci-dessus #On affiche le contenu de la variable $1 dans le fichier sortie print OUT $1, "\n"; #On incrémente le compteur $compteur++; } } #On ferme le fichier en lecture close(FILE); #On ferme le fichier de sortie close(OUT);