Supprimer une ligne spécifique dans un fichier

Supprimer une ligne spécifique dans un fichier - Perl - Programmation

Marsh Posté le 06-10-2005 à 11:49:37    

Bonjour,
j'ai un problème avec la suppression(sinon l'écrasement ) d'une ligne dans un fichier.
Voici mon code:

Code :
  1. ...................
  2. $addr=tell(HANDLER) unless eof(HANDLER);
  3. .......................
  4. truncate(HANDLER,$addr);
  5. close HANDLER;


 Ceci ne fait que supprimer toutes les lignes du fichier. :pfff:  :pfff:

Reply

Marsh Posté le 06-10-2005 à 11:49:37   

Reply

Marsh Posté le 09-10-2005 à 13:18:03    

precise ta pensée, parce que perso, je vois pas trop bien ce que tu veux faire.  
Comment tu définis la ligne que tu veux supprimer ??
pourkoi ne pas faire un sed par exempel ??

Reply

Marsh Posté le 11-10-2005 à 16:26:16    

C'est un mise à jour du fichier que je voudrais faire en supprimant d'abord la ligne spécifique puis en rééditant celle-ci.
Je veux bien voir ce à quoi sed ressemble.
Toutefois j'ai eu à trouver une astuce quelque part:On lit toutes les lignes dans un tableau puis on procède aux modifications en parcourant le tableau enfin on ouvre de nouveau le fichier exclusivement en écriture pour éditer les lignes contenues dans le tableau. Je vais essayer si ça peur marcher aussi.
Merci

Reply

Marsh Posté le 11-10-2005 à 16:42:08    

use Tie::File pour ce genre de truc
 
rempalcer un eligne c'est toujours delicat: si la ligne que tu met à la place ne fait pas exactement la meme taille alors ca veut dire qu'il faudra faire des copies

Reply

Marsh Posté le 12-10-2005 à 15:01:44    

Merci
A mon tour d'essayer

Reply

Sujets relatifs:

Leave a Replay

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