IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage Perl Discussion :

PERL : lecture et écriture d'un fichier


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 61
    Par défaut PERL : lecture et écriture d'un fichier
    Bonjour tout le monde,
    Je cherche à parcourir un fichier (.txt) dans lequel je recupère toutes les chaines de caractère (/(AK.....)/).
    Le souci est que le fichier out est crée mais elle est vide alors que dans le fichier IN il y a bien des chaine de caracteres /(AK.....)/.
    Est ce que quelqu'un pourrai me dire pourquoi le fichier .txt que je recupére au sorti est vide?
    Merci d'avance!

    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
    #!/usr/bin/perl -w
    use strict; use warnings;
    my $line;
    my $file; 
     
    open IN,"</home/Bureau/stage_b/perl/DATA/V3_FULL_ACC.TXT" or die "Le fichier n'existe pas !";
     
    open OUT,">/home/Bureau/stage_b/perl/NCBI/FLJ/flj_V3.txt";
     
     
     
    while ($file = <IN>){
     
     
    	if($line =~ /(AK.....)/){
    	   print $line."\n";	
    	   print OUT $1 ."\n"; # ecrire dans le fichier OUT, les séquences (AK.....) qu'on rencontre dans le fichier IN.
     
    	}
     
    }
     
    close (IN);
    close (OUT);

  2. #2
    Expert confirmé
    Avatar de Jedai
    Homme Profil pro
    Enseignant
    Inscrit en
    Avril 2003
    Messages
    6 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Côte d'Or (Bourgogne)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Avril 2003
    Messages : 6 245
    Par défaut
    L'erreur est à cette ligne (sisi, regarde bien... )

    --
    Jedaï

  3. #3
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Si tu ne vois vraiment pas, déplace cette ligne
    avant le if et si tu ne vois toujours pas, relance le programme, tu devrais alors comprendre

  4. #4
    Membre expérimenté
    Homme Profil pro
    Inscrit en
    Juillet 2009
    Messages
    167
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 81
    Localisation : France

    Informations forums :
    Inscription : Juillet 2009
    Messages : 167
    Par défaut
    Bonjour,
    De toute façon, avec le il devrait y avoir un message explicite.
    Non ?
    Nibroc

  5. #5
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Non, car la variable a bel et bien été déclarée plus haut.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Avril 2010
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2010
    Messages : 61
    Par défaut
    Merci ça marche maintenant.
    Je suis un gros chèvre !
    C'est le $file à la place du $line qui changeait tout.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
     
    while ($line = <IN>){
     
     
    	if($line =~ /(AK.....)/){
    	   print $line."\n";	
    	   print OUT $1 ."\n"; # ecrire dans le fichier OUT, les séquences (AK.....) qu'on rencontre dans le fichier IN.
     
    	}
    Merci beaucoup!

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Lecture et écriture dans un fichier .CSV
    Par yann87 dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 03/03/2009, 09h04
  2. Lecture et écriture sur un fichier txt
    Par freemanqc dans le forum Langage
    Réponses: 13
    Dernier message: 28/02/2008, 05h29
  3. Lecture et écriture d'un fichier
    Par Archy27 dans le forum Pascal
    Réponses: 6
    Dernier message: 31/12/2007, 17h52
  4. lecture et écriture dans un fichier
    Par hamham dans le forum Entrée/Sortie
    Réponses: 8
    Dernier message: 18/12/2007, 15h03

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo