bonjour,

souhautant modifier une ligne d'un fichier sans jamais toucher au reste, je me suis tourné vers tie::file

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
 
#!/usr/bin/perl -w
use strict;
	use Tie::File;
        my $nouvelle_liste="";
        my $ancienne_liste="";
        open FICHIER,"< liste_tor.txt" or die "Le fichier liste_tor.txt n'existe pas !";
        my $ligne;
        while ($ligne = <FICHIER>)
        {
              $nouvelle_liste.=$ligne;
        }
        close FICHIER;
         open FICHIER,"< liste_fixe.txt" or die "Le fichier liste_fixe.txt n'existe pas !";
        while ($ligne = <FICHIER>)
        {
              $nouvelle_liste.=$ligne;
        } 
        close FICHIER;
 
         open FICHIER,"< ancienne_liste.txt" or die "Le fichier ancienne_liste.txt n'existe pas !";
        while ($ligne = <FICHIER>)
        {
              $ancienne_liste.=$ligne;
        } 
        close FICHIER;
 
 
 
 
 
        my @tableau1;
	tie @tableau1, 'Tie::File', "framearticle.html" or die ("probleme avec le fichier 1");
 
	for (@tableau1)
        {s/{$ancienne_liste}/{$nouvelle_liste}/g;}
	untie @tableau1;            # all finished
 
        my @tableau2;
	tie @tableau2, 'Tie::File', "framefollow.html" or die ("probleme avec le fichier 2");
 
	for (@tableau2)
        {s/{$ancienne_liste}/{$nouvelle_liste}/g;}
	untie @tableau2;            # all finished
 
          my @tableau3;
	tie @tableau3, 'Tie::File', "frameheader.html" or die ("probleme avec le fichier 3");
 
	for (@tableau3)
        {s/{$ancienne_liste}/{$nouvelle_liste}/g;}
	untie @tableau3;            # all finished
 
        my @tableau4;
	tie @tableau4, 'Tie::File', "framepreview.html" or die ("probleme avec le fichier 4");
 
	for (@tableau4)
        {s/{$ancienne_liste}/{$nouvelle_liste}/g;}
	untie @tableau4;            # all finished
 
 
        open FICHIER,"> ancienne_liste.txt" or die "probleme avec le fichier ancienne liste !";
 
        print FICHIER $nouvelle_liste;
        close FICHIER;

normalement le motif $ancienne_liste devrait etre remplacé dans les fichiers frame*.html par $nouvelle_liste pourtant il n'en est rien.
quelqu'un peut il m'aider ?