Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1617 connectés 

  FORUM HardWare.fr
  Programmation
  Perl

  substituer une chaine par une autre

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

substituer une chaine par une autre

n°1013521
pretorienx
Posté le 15-03-2005 à 16:14:29  profilanswer
 

salut à tous, je débute en perl,
je veux faire un prog qui lit et modifie à la volée un fichier
 
ex, j'ai le fichier suivant:  

Code :
  1. <map version="0.7.1">
  2. <node TEXT="root">
  3. <node TEXT="droite" POSITION="left">
  4. <node LINK="bas.mm" TEXT="lien"/>
  5. </node>
  6. <node COLOR="#ff3333" TEXT="gauche2" POSITION="right">
  7. <edge COLOR="#d4d0c8"/>
  8. <node TEXT="gauche2.1">
  9. <edge COLOR="#d4d0c8"/>
  10. <node LINK="bas.mm" TEXT="lien"/>
  11. <node TEXT="gauche2.1.1"/>
  12. </node>
  13. </node>
  14. </node>
  15. </map>


 
 
et je voudrais par ex remplacer tous les mot TEXT par texte.
j'ai fais le pgr suivant:

Code :
  1. #!/usr/bin/perl
  2. $fichier = "aaa.mm";
  3. open(FILE,"+<$fichier" ) || die("Erreur de lecture de $fichier, Erreur: $!\n" );
  4. #print("Quel mot rechercher : " );
  5. $cherche = $ARGV[0];
  6. $ligne = 0;
  7. $sum = 0;
  8. $cond = 0;
  9. while(<FILE> ){
  10.     $cond=$sum;
  11.     $ligne +=1;
  12.        $sum += (s/$cherche/$cherche/g);
  13.     if($cond != $sum){
  14.         print("Ligne $ligne ==> " );
  15.         print("$sum\n" );
  16.     }
  17. }
  18. close(FILE);
  19. print("----------------------------------------------------\n" );
  20. print("Votre fichier contient $sum fois le mot '$cherche'\n" );


il me permet de détecter et non de substituer, et je vois pas trop comment faire.
 
si quelqu'un a une idée
 
merci bcp

mood
Publicité
Posté le 15-03-2005 à 16:14:29  profilanswer
 

n°1013549
couak
Posté le 15-03-2005 à 16:31:30  profilanswer
 

edit ====> j'avais mal lu le code
 
si tu veux substituer utilises l'opérateur "=~ s/blabla/blabla/"
sinon si tu fais juste un "= s/blabla/blabla" il te retournera 1 chaque fois qu'il aura réussit à substituer


Message édité par couak le 15-03-2005 à 16:42:28

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Perl

  substituer une chaine par une autre

 

Sujets relatifs
[algo] toutes les permutations d'une chaine de charatereMySQL requête ciblée sur une chaine de caractère
Comment Charger une chaine (venant d'un formulaire) dans un tableau ?vba: récup chaine de carac
[C++/SQL./Oracle] Juste un petit problème de chaine...taritement chaîne de caractères sous access
Réutilisation d'une chaine de caractére !!Chaîne de caractères - Obtenir la longueur en points
[PHP] Insérer le contenu entier d'une page HTML dans une chainerecherche de chaine de caractere
Plus de sujets relatifs à : substituer une chaine par une autre


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR