problème fichier en PERL

problème fichier en PERL - Perl - Programmation

Marsh Posté le 17-02-2005 à 09:07:12    

Bonjour à vous les codeurs!!!
 
Voilà je suis dans le Perl depuis environ... 5 jours et je m'en sort pas!!!! :fou:  
 
Comme les autres... j'ai un problème!!!
 
En gros voici ce que fait le programme:
Automatisation des sauvegardes des matériels réseaux... Pour se faire je parcour un fichier (on l'appelera equip.txt) qui contient tous les matériels réseaux.
A chaque équipement lu je recherche via SNMP son objectID.
Selon cet ObjectId je parcour un deuxième fichier (on l'appelera oid.txt) qui contient l'ensemble des OID que j'ai dans mon réseau.
Lorsqu'un materiel détient un OID et qu'il n'est pas encore dans le fichier oid.txt, il faut l'ajouter. Et c à ce niveau là tout le problème!!!  
En effet j'arrive bien à rajouter une ligne dans mon fichier pour ajouter l'OID manquant, mais lorsque que le programme rerencontre ce même équipement, il ne prend pas en compte la modification que je viens d'apporter au fichier et me rajoute une autre ligne avec le même oid...  :??:  
 
 
 
Pour ceux qui n'auraient rien compris (perso je comprend même moi j'ai du mal  :pt1cable: )je voudrait savoir s'il y a une commande en Perl pour enregistrer un fichier modifié dans un programme. Pour pouvoir le réutiliser par la suite dans ce même programme...  
 
j'ai essayé: les fichiers temporaires, la copie de fichier, les différents mode de lecture et écriture... Rien y fait!!!
 
On est deux têtes depuis deux jours et on trouve pas alors si quelqu'un sait qu'il ne se gêne pas!!!
 
Merci d'avance, déjà de m'avoir lu...
 
 
Jumpuperone qui se bouffe les neurones!!!

Reply

Marsh Posté le 17-02-2005 à 09:07:12   

Reply

Marsh Posté le 17-02-2005 à 10:25:04    

rien compris !

Reply

Marsh Posté le 17-02-2005 à 11:26:47    

il faut réinitialiser le pointeur de lecture dans le fichier pour qu'il recommence à le parcourir depuis le debut:
 
seek(FILE, 0, 0);
 
dans tous les cas, plutot que de parcourir le fichier à chaque fois et d'ajouter chaque nouveau oid, le mieux serait de charger le fichier une bonne fois dans une hash, de faire toutes les recherches/modifs dans cette hash, puis d'ecraser le fichier avec les donnée de la hash à la toute fin.

Reply

Marsh Posté le 17-02-2005 à 12:32:21    

Merci bien pospos!!!
En effet ta deuxième solution est celle que je viens de mettre en place et ça marche... Enfin presque!
J'arrive plus à écrire dans mon fichier mais là je pense je suis à la fin!!
Encore merci mec d'avoir répondu et compris...
 
Tchô

Reply

Marsh Posté le 17-02-2005 à 13:59:29    

tu ouvre ton fichier en lecture seule pour el charger dans ta hash, puis tu le ferme. ensuite à la fin tu le réouvre en ecriture (pour ecraser son contenu) et tu y ecrit le contenu de ta hash, formatté comme il faut

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed