Tout d'abord, bonjour à tous...
Voilà, j'ai un petit soucis en Perl... Je précise aussi que je suis un novice...
En gros ce que je fais, c'est que je lis un fichier texte (lettre.txt) dans laquelle j'ai parfois rajouter à la place d'un espace entre deux mots, le mot "turlu" ...
Donc ce que mon script fait, c'est qu'il ouvre la lettre, pour chaque ligne il vérifie qu'il n'y a pas de "turlu" (si il y'en a, il remplace par un espace) et si tout est bon, il copie la ligne dans un nouveau fichier texte(correction_lettre.txt) dans lequel, j'ai un espace entre chaque ligne. (vous comprendrez surement en lisant mon code)
Donc jusque ici, pas de problèmes... Malheureusement pour la suite de ce que je souhaite faire, ça ne va pas...
Donc directement, après la création du fichier "correction_lettre.txt", j'ouvre celui-ci pour le lire. Bref ce que je voudrais faire c'est supprimer les retours à la ligne entre deux lignes de texte et tout ça dans un nouveau fichier nommé "correction_modif.txt"... malheureusement ce dernier reste vide ...
Voici mon code :
Merci d'avance pour les solutions que vous me donnerez !!
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 #! /usr/bin/perl -w open TEXTE, "< /home/nvb/Desktop/lettre.txt" or die "Fichier n'existe pas : $!"; open CORRECTION, "> /home/nvb/Desktop/lettre_correction.txt" or die "Impossible de creer le fichier : $!"; while ($ligne = <TEXTE>) { chomp ($ligne); $ligne =~ s/turlu/ /; print (CORRECTION "$ligne\n"); print (CORRECTION "\n"); } close CORRECTION; close TEXTE; open MODIF, "+> /home/nvb/Desktop/correction_modif.txt" or die "Fichier non trouve : $!"; while ($line = <MODIF>) { chomp($line); if (!(defined($line))) { print (MODIF "$line\n"); } } close MODIF;
Partager