rat de combat attention rongeur méchant! | Il y a quoi dans $f? En principe ça fonctionne...
fichier_test.txt: Code :
use strict; use warnings FATAL=>'all'; use autodie; my $f="fichier_test.txt"; open (FIC, '+<:utf8', $f); #je préfère mettre des guillemets simples car il n'y a pas besoin (au contraire) d'interpréter des \n etc
|
Citation :
en fait mon but est de lire le fichier puis modifier qqes lignes et afficher le résultat dans le mme fichier..
|
Sois prudent(e). Je ne connais pas la bonne méthode pour modifier une ligne précise sans toucher au reste du fichier. L'approche naive Code :
use strict; use warnings FATAL=>'all'; use autodie; my $f="fichier_test.txt"; open (FIC, '+<:utf8', $f); seek(FIC, 0, 0); #aller au début du fichier print FIC "ligne à insérer\n";
|
ne s'intéresse pas aux lignes, ça va remplacer les deux premières lignes et une partie de la troisième, ce n'est pas ce qu'on veux.
Je suppose qu'il y a un module tout fait pour ça, sinon (si le fichier n'est pas trop grand) on peut le mettre dans un tableau ligne par ligne, modifier comme on veut et tout réécrire. Code :
use strict; use warnings FATAL=>'all'; use autodie; my $f="fichier_test.txt"; my @lignes; open (FIC, '+<:utf8', $f); push @lignes, $_ while(<FIC> ); $lignes[1]="ligne à insérer\n"; seek(FIC, 0, 0); #aller au début du fichier
|
|