Bonjour à vous tous !
Comme j'ai un peu de temps libre au taf', je m'initie au Perl (après du Java, du PHP et du C, ça ait du bien de découvrir autre chose ).
Ce que je veux, c'est écrire un petit script qui cherche un motif dans un fichier et le remplac par un autre motif :
Le script détecte bien les motifs. Le problème, c'est que j'arrive pas à faire les substitutions !
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 #!/usr/bin/perl print ("Chemin absolu du fichier : \n"); $f = <STDIN>; chomp ($f); print ("Rentrer un motif à remplacer : \n"); $m1 = <STDIN>; chomp ($m1); print ("Rentrer le motif de remplacement : \n"); $m2 = <STDIN>; chomp ($m2); open (FIC, '+<'.$f) || die("Ouverture de $f impossible !"); $i = 1; while (<FIC>) { if (/$m1/) { print ("Motif $m1 trouvé à la ligne $i.\n"); $ligne =~ s/$m1/$m2/g; $l = syswrite(FIC, $ligne, length($ligne)); print ("Remplacement de $m1 par $m2.\n"); } $i++; } close FIC;
Où est mon erreur ?
Merci de vos posts !
@ +++
Partager