Les Allergies
Alimentaires
Posez votre question Signaler

Pb copie de lignes de fichier1 vers fichier2

Clara - Dernière réponse le 29 sept. 2008 à 14:31
Bonjour,
Je découvre PERL et je rencontre un problème que je ne parviens pas à résoudre. J'ai un fichier qui contient des infos et je voudrais récupérer certaines infos dans un fichier de sortie. J'arrive à récupérer ces infos mais elles apparaissent plusieurs fois dans mon fichier de sortie. Je ne vois pas d'ou vient mon problème.
Voici mon programme :
#! /usr/bin/perl -w
$fichier = "entree.txt";
$result = "resultat.txt";
$cpt =0;
open (FILE1,"<$fichier ") || die ("Erreur de lecture du fichier en entree , Erreur: $!\n");
open (FILE2,">$result ") || die ("Erreur d'ecriture sur le fichier en sortie , Erreur: $!\n");
$ligne1 = "";
while (<FILE1>){
$ligne1=$_;
if ($ligne1 =~ m/Name:/ ){
$ligne2=$ligne1;
$cpt = 1;
#chop $ligne2;
}
print FILE2 "$ligne2\n";
}
close FILE1;
close FILE2;
Mon fichier resultat.txt m'affiche
Name: MARTIN
Name: MARTIN
Name: MARTIN
alors que mon fichier entree.txt ne contient qu'une ligne correspondante.
Merci pour votre aide.
Clara.
Lire la suite 

Pb copie de lignes de fichier1 vers fichier2 »

2 réponses
Réponse
+0
moins plus
Bonjour
je ne connais pas PERL, mais $ligne2 n'est jamais reinitialisé, et comme < print FILE2 "$ligne2\n" > n'est pas dans le < if >, il y a systématiquement une écriture dans FILE2 pour chaque ligne de FILE1
Clara - 29 sept. 2008 à 14:31
Bonjour,

Effectivement, cela marche mieux avec le print positionner au bon endroit. Je te remercie.



Clara.
Ajouter un commentaire
Ce document intitulé « Pb copie de lignes de fichier1 vers fichier2 » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?