Rechercher : dans
Par :

[PERL] comment écrire au milieu d'un fichier

Dernière réponse le 22 mai 2005 à 17:03:30 kayari, le 15 mai 2005 à 21:14:25 
 Signaler ce message aux modérateurs

Bonjour tout le monde,
je programme avec Perl et j'ai besoin de modifier une ligne à l'intérieur d'un fichier .dat que j'utilise comme entrée pour le script perl. est-ce que quelqu'un peut m'indiquer comment je peux accéder à un caractère d'une ligne à l'intérieur d'un fichier et de le modifier.
Merci d'avance

Meilleures réponses pour « [PERL] comment écrire au milieu d'un fichier » dans :
Perl - Les fichiers Voir La notion de filehandle On appelle filehandle (traduisez descripteur de fichier), dans un programme Perl, le nom permettant de manipuler une connexion d'entrée-sortie (les entrées-sorties standards vues précédemment sont connues par les filehandles...
[Python] Lire et écrire des fichiers CSV VoirLIRE ET ÉCRIRE DES FICHIERS CSV Python www.python.org, dans sa version 2.4 supporte de facto le format CSV (comma-separated values: valeurs séparées par des virgules). La Library Reference est certes très explicative à ce sujet, mais uniquement...
[MS-Dos] Ecrire dans un fichier texte en batch VoirPour écrire dans un fichier texte, il suffit d'utiliser une redirection ">" : echo texte_à_ecrire > fichier_de_sortie.txt Pour écrire à la fin d'un texte existant (concaténation) : echo "écriture a la fin du fichier ">>...
PHP - Les fichiers VoirLa gestion des fichiers avec PHP Avec PHP, la création ou la lecture de fichiers est, une fois de plus, assez simple. Il existe une multitude de fonctions dédiées à l'utilisation des fichiers. La communication entre le script PHP et le fichier...

1

 Marianne, le 22 mai 2005 à 17:03:30

Bonjour,
Je peux peut-être t'aider... mais je ne connais pas bien les fichiers .dat et je suis débutante en perl.

Pour modifier un truc au milieu d'une ligne, tu peux commencer par chercher ce truc avec une expression régulière.
La mise entre parenthèses permet de faire une mémorisation, à présent une variable $1 contient le contenu "truc". Dans la ligne sur laquelle a été balancé l'expression régulière, tout ce qui se trouve à gauche de $1 est compris dans la variable $(alt+7) et tout ce qui se trouve à droite est compris dans $'. Ensuite, il suffit donc de reconstruire la ligne. Disons que je veux remplacer truc par trucs.

While ($ligne=<>) {
if ($ligne=/(truc)/){
$ligne=$'.$1."s".$(alt+7)

alt+7 : dsl c parce que je ne peux pas l'écrire...

Répondre à Marianne