Bonjour,
Je dispose d'un fichier dont le nom est uds18 qui est composé de 150 lignes qui ont le même format.
Voici un exemple avec 2 lignes
Citation:
testa:voiture1280480 680 blanc
testb:camion1561311 871 vert
Je souhaite ouvrir mon fichier uds, pour toutes les lignes, diviser la lignes en deux. Je vais prendre la première partie de la ligne pour créer un fichier à son nom et mettre la seconde partie de la ligne dans ce fichier en ajoutant 0 et 0 sur la premiere puis sur la seconde ligne
Voici ce que ça doit me donner
pour le premier fichier, son nom sera testa et il va contenir
Aucun dit : 0
0
voiture1280480 680 blanc
et le second fichier, nom sera testb et il va contenir
Aucun dit : 0
0
0
camion1561311 871 vert
Mais ça ne fonctionne pas, voici ce que j'obtiens:
Aucun dit :
00voiture1280480 680 blanc
00camion1561311 871 vert
Je n'arrive pas à sauter une ligne après le premier 0 de la ligne 1, ni après le second 0 pour tout avoir sur 3 lignes.
Je vous remercie pour votre aide.
Voici mon code.
#!/usr/bin/perl
open(uds18,"uds18") || die ("Problème à l'ouverture : $!");
$i = 0;
while(<uds18>) #voici une boucle pour parcourir tout mon fichier
{
$i ++;
$lignecomplete=$_; #j'affecte chaque ligne à lignecomplete
(@maligne) = split(/:/,$lignecomplete); #je coupe ligne complete en 2 apres le :
print "voici la decoupe du nom du fichier $maligne[0]n";#je constate que split fonctionne bien
print "voici la decoupe des donnees $maligne[1]n";
$nomfic = $maligne[0];
$donnees = $maligne[1];
open(nomfic, ">>test.txt") || die ("Problème à l'ouverture : $!");#creation de mon fichier en ecriture
print nomfic 0; #j'ajoute un 0 en premier ligne mais COMMENT SAUTER UNE LIGNE APRES
print nomfic 0; #j'ajoute 2ieme 0 en seconde ligne mais COMMENT SAUTER UNE LIGNE APRES
print nomfic $donnees; #j'ajoute les donnees ensuite
rename ("test.txt","$maligne[0]"); #je renomme mon fichier
}
print "nNombre de lignes : $in";#c'est un controle
close (uds18 || die "Problème à la fermeture : $!");
edit coolboy : Pense à utiliser des balises, c'est plus simple pour lire ton code ;)
Aucun dit : print nomfic 0; #j'ajoute un 0 en premier ligne mais COMMENT SAUTER UNE LIGNE APRES
print "n";
print nomfic 0; #j'ajoute 2ieme 0 en seconde ligne mais COMMENT SAUTER UNE LIGNE APRES
print "\n";
print nomfic $donnees; #j'ajoute les donnees ensuite
__________________________
............ Curtis: RTS 3D .............. ......
........... TeamMoteurProg...........
Bonjour,
Merci pour ta reponse mais ça ne fonctionne pas, pour pouvoir ecrire dansle fichier il faut donner le nom du fichier donc :
print nomfic puis ensuite ce que l'on souhaite faire mais je n'arrive pas à sauter une ligne.
Si une autre personne sait !!!