Bonjour,

dans le même esprit que http://www.developpez.net/forums/d16...rt-if-pattern/ je dois encore modifier un fichier.

Je dispose d'un fichier qui contient des enchaînements:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
[du texte variable]debut
toto [du texte variable] findebut[du texte variable] 
titi [du texte variable] fintoto [du texte variable] 
tutu [du texte variable] fintiti [du texte variable] 
fin [du texte variable] fintutu [du texte variable]
On peu considérer ça comme une suite de commandes qui ne s'exécutent que si la précédente est OK, il se lit de la façon suivante: j'ai le début, de ce début dépend toto. titi dépend de toto, tutu de titi et fin de tutu.

Je dois ajouter à ce fichier des lignes:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
tagada [du texte variable] findebut [du texte variable]
tugudu [du texte variable] fintagada [du texte variable]
ces lignes doivent se trouver entre les lignes début(en première position) et toto (première position) globalement, dans l'exemple entre les lignes une et deux.

j' arrive pour une ligne avec
Code : Sélectionner tout - Visualiser dans une fenêtre à part
perl -lne 'print $_;print "tagada [du texte variable] debut [du texte variable] " if(/debut/);' monfichier >> temp && mv temp monfichier
Mais ça ne fonctionne que pour une ligne à la fois et d'autre part, je dois maintenant modifier la ligne toto pour qu'elle ne dépende plus de findebut mais de fintagada.

J'ai test en déclarant une variable data contenant l'ensemble de mes lignes mais ça ne m'insére qu'une ligne vide alors qu'un echo de mon $data me renvoie bien mes lignes.

Merci