URL: https://linuxfr.org/forums/programmation-perl/posts/script-perl-manipulation-donn%C3%A9es-et-%C3%A9criture-dans-fichier Title: Script perl manipulation données et écriture dans fichier Authors: milounix Date: 2008年02月11日T15:40:13+01:00 Tags: Score: 0 Bonjour, Je possède 2 fichiers, 1 avec des valeurs (fic1) et un autres dit de référence (fic2) . Je souhaite réaliser un programme Perl qui pour chaque valeur du fic1 je vienne modifier un champ défini du fic2 et écrire le résultat dans un fichier final (fic3). Ce que je n'arrive pas à faire c'est d'écrire dans fic3. Vous trouverez ci dessous le dèbut de mon script: #!/usr/bin/perl # Nom du fichier analysé $file="c:\\swtable2.txt"; # Ouvre le fichier, qui s'il n'existe pas open(INFILE,$file) or die "Impossible trouver le fichier $file\n"; open(FILE,">mont.txt") or die "Impossible fichier mont.txt\n"; while () { $lignes=$.; #compte le nombre de lignes du fichier @champ=split; $res=$champ[1]; $ag=$champ[0]; $ip=$champ[2]; if ($ip =~ /\.0$/) {$ip =~ s/\.0$/\.1/;# Remplace .0 par .1} if ($res =~ /^N/) {$res =~ s/^N/S/;# Remplace .0 par .1} print FILE "$res $ip\n" ; # Ecrit toutes les lignes dans mont.txt } close ("FILE"); open ("WFILE", ">>mont2.txt") or die ("Impossible d'ouvrir le fic. mont2.txt"); open(FILE,"mont.txt") or die "Impossible de trouver le fichier mont.txt\n"; open ("SUIVEUR", "c:\\site.txt"); while () { while () {@champe=split(/ /); $serv = $champe[0]; $ip = $champe[1]; } $_ =~ s/toto/$serv/;# Remplace WAITING par SENT print WFILE $_ ; # Ecrit toutes les lignes dans mont2.txt } } close ("SUIVEUR"); close ("NEWFILE"); close ("WFILE"); close ("FILE"); close ("INFILE"); Merci à tous

AltStyle によって変換されたページ (->オリジナル) /