#!/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 met le fichier dans un tableau appelé lignes @lignes = ; #---------------------------------------------------------------------------- # on compte le nombre de lignes #On crée un premier compteur appelé $compteur et on l'initialise à 0 $compteur=0; #On crée un deuxième compteur appelé $compteur1 et on l'initialise à 0 $compteur1=0; #pour chaque lignes dans lignes, on va faire: foreach my $ligne (@lignes) { # le premier compteur est incrémenté # ce compteur permet de compter le nombre de lignes $compteur=$compteur+1; } #--------------------------------------------------------------- # on compte le nombre de mots #pour chaque ligne dans lignes, on va faire: foreach my $ligne (@lignes) { #On sépare les lignes du fichier par un séparateur qui est: [\W] # Ce séparateur signifie qu'il va sélectionner un caractère qu'il n'est pas une #lettre, ni un chiffre. C'est le complément de \w #Grâce à ce séparateur, on se retrouve à avoir les mots de chaque ligne qui seront # stocker dans le tableau motsparligne my @motsparligne=split(/[\W]/,$ligne); foreach my $mot (@motsparligne) { # le deuxième compteur est incrémenté # ce compteur permet de compter le nombre de mots $compteur1=$compteur1+1; } } #--------------------------------------------------------------- # on imprime les résultats #dans un premier temps, on affiche le nombre de lignes dans le texte print OUT "Dans le texte, il y a $compteur lignes. \n"; #dans un premier temps, on affiche le nombre de mots dans le texte print OUT "Dans le texte, il y a $compteur1 mots."; # on ferme le fichier en lecture close(FILE); # on ferme le fichier en sortie close(OUT);