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 :

[Problème] lecture fichier entre ; et :


Sujet :

Langage Perl

  1. #41
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Ca ne serait pas plutôt à la seconde ligne que tu dois commencer?
    ou

    au lieu de

    Tu peux également supprimer le print Dumper (%Table); c'était juste pour que tu visualises ton tableau. Une fois que tu sais que c'est correct, tu peux l'enlever du code.


    Jasmine,
    -- Jasmine --
      0  0

  2. #42
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 563
    Points : 2 003
    Points
    2 003
    Par défaut
    Déjà, pour répondre sur ce que je viens de lire dans ton code :

    Ca, c'est lorsque tu lis le contenu de ton fichier.

    C'est inutile d'inclure ce genre de choses si tu comptes lire tout ton fichier. Autant t'en passer car par défaut, ton code va tout lire.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    {
                print("Erreur lecture de ligne");
            }
    Ici sinon, c'est dommage d'indiquer qu'il y a une erreur dans une ligne du fichier, mais autant ajouter la valeur de $. dans le print. Ce sera plus pratique pour repérer la ligne en erreur.
      0  0

  3. #43
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    C'est parce qu'il faut éviter la première ligne
    .... sinon supprime la manuellement.


    Jasmine,
    -- Jasmine --
      0  0

  4. #44
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Points : 26
    Points
    26
    Par défaut
    Les problèmes résolu merci

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
            else
            {
                print("Erreur lecture de ligne : $.");
            }
    &
      0  0

  5. #45
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    Voila si je veut maintenant chercher dans le tableaux et en retirer les information plus précisément
    Je cherche MR Martin Rene
    je l'est mit dans ma variable
    Moi, je ferais des boucles sur toutes les valeurs de clé et je vérifierais par un
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    (if $cle eq "nom_prenom")
    {
            ecrire les classes et les cours
    }
    ^^ Allez, Maloute à ton tour de travailler un peu .


    Jasmine,
    -- Jasmine --
      0  0

  6. #46
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 563
    Points : 2 003
    Points
    2 003
    Par défaut
    Doit bien y avoir moyen via la fonction grep de Perl de trouver
      0  0

  7. #47
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    En effet, ça serait plus stylé ... mais c'est déjà plus compliqué à écrire.


    Jasmine,


    http://perldoc.perl.org/functions/grep.html
    -- Jasmine --
      0  0

  8. #48
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 563
    Points : 2 003
    Points
    2 003
    Par défaut
    Citation Envoyé par Jasmine80 Voir le message
    En effet, ça serait plus stylé ... mais c'est déjà plus compliqué à écrire.


    Jasmine,


    http://perldoc.perl.org/functions/grep.html
    Plus rapide qu'une recherche clé par clé

    Quand tu as 10 clés dans ton hachage, ça va mais imagine quand tu en as des millions
      0  0

  9. #49
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Plus rapide qu'une recherche clé par clé
    Oui, tu as raison. Maintenant je commence à intégrer les map dans mes script je vais essayer de penser au grep plus souvent. Je crois que j'ai le cerf-volant c'est pour ça ^^.

    Jasmine,
    -- Jasmine --
      0  0

  10. #50
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 563
    Points : 2 003
    Points
    2 003
    Par défaut
    Citation Envoyé par Jasmine80 Voir le message
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Plus rapide qu'une recherche clé par clé
    Oui, tu as raison. Maintenant je commence à intégrer les map dans mes script je vais essayer de penser au grep plus souvent. Je crois que j'ai le cerf-volant c'est pour ça ^^.

    Jasmine,
    J'ai eu moi aussi du mal à m'y faire jusqu'au jour où un code à la c... m'a contraint d'utiliser grep. Ca m'a permi de gagner de précieuses minutes sur le temps de traitement.
      0  0

  11. #51
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Points : 26
    Points
    26
    Par défaut
    Excuser moi vous étiez en plein discutions
    mais je voudrais savoir si c'est ça grep

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    my @s =undef;
    @s = grep { $_=MARTIN_RENE } @Table;
    print @s;
    Vous affolé pas la syntaxe doit être totalement fausse
    Mais je cherche comment grep fonctionne hihi
    Google est mon ami d'enfance
    (Jasmine80 & Arioch c'est met copain copine maintenant à oui c'est vrai <?)

    oula Je part en sucette oO
      0  0

  12. #52
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 563
    Points : 2 003
    Points
    2 003
    Par défaut
    de la doc sur la fonction grep : http://perldoc.perl.org/functions/grep.html
      0  0

  13. #53
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Points : 26
    Points
    26
    Par défaut
    Une petite question @ correspond bien à mon tableau?

    Parceque
    Global symbol "@Table" requires explicit package name at ./Prof.pl line 48.
    Bareword "MARTIN_RENE" not allowed while "strict subs" in use at ./Prof.pl line 48.
    Execution of ./Prof.pl aborted due to compilation errors.
    ligne 48
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @s = grep { $_=MARTIN_RENE } @Table;
      0  0

  14. #54
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 563
    Points : 2 003
    Points
    2 003
    Par défaut
    Lis bien les 2 premières lignes du message d'erreur que Perl te retourne

    ligne 1 : variable @table nécessite une déclaration dans le script avant emploi
    ligne 2 : t'indiques qu'éventuellement, si tu mettais le terme MARTIN_RENE entre " ", ça marcherait mieux
      0  0

  15. #55
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    J'ai une petite question d'intérêt personnel et je devrais peut-être refaire un nouveau post.

    Voila ce que j'ai
    $Table_MUT{$Position_MUT}{$Type_MUT}=$Score_MUT;
    $Table_WT{$Position_WT}{$Type_WT}=$Score_WT;

    et ce que je veux
    1) Rechercher les positions n'étant pas communes
    2) Pour les positions communes à MUT et WT vérifier que les types et les scores sont bien égaux

    L'ennui c'est que je n'ai pas d'array pour utiliser la fonction grep.
    Vaut-il mieux que je fasse des boucles ou alors que je crée des arrays contenant mes positions puis faire quelque chose qui ressemblerait à
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my @Absent_Mut = grep(!exists($Table_MUT{$_}), @Positions_WT);

    Merci,


    Jasmine,



    PS : j'ai refait un nouveau post.
    -- Jasmine --
      0  0

  16. #56
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Points : 26
    Points
    26
    Par défaut
    my @Table=quelque chose donc mais je ne comprend pas trop bien si il nécessite une déclaration il faut qu'il reprenne le tableau d'avant
    oula je suis perdu !!
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    #my @Table ;    #Oo
    my @s =undef;
    @s = grep { $_="MARTIN_RENE" } @Table;
    print @s;
      0  0

  17. #57
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Coucou,

    Je n'ai jamais utilisé grep mais à ta place j'essaierais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @s = grep ( !/MARTIN_RENE/, @Table);
    Avec des parenthèses et non des crochets.


    Jasmine,
    -- Jasmine --
      0  0

  18. #58
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2007
    Messages
    98
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2007
    Messages : 98
    Points : 26
    Points
    26
    Par défaut
    Bonjour, après une bonne nuit de sommeil et de rêve sur Perl me revoilà.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    @s = grep ( !/MARTIN_RENE/, @Table);
    Cela fonctionne beaucoup mieux mais si
    Ne m'affiche rien le problème vient de moi donc du code ou autre part?

    D'avance merci.
      0  0

  19. #59
    Membre émérite
    Avatar de Jasmine80
    Femme Profil pro
    Bioinformaticienne
    Inscrit en
    Octobre 2006
    Messages
    3 157
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 44
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Bioinformaticienne
    Secteur : Santé

    Informations forums :
    Inscription : Octobre 2006
    Messages : 3 157
    Points : 2 673
    Points
    2 673
    Par défaut
    Le problème vient du fait que tu manipules une array comme si c'était un scalaire. Tu dois utiliser une bouche foreach et appeler une à une les valeurs de ton tableau. Ou alors faire un "print join" sur ton array.

    http://lhullier.developpez.com/tutor...e=page_5#LIV-1


    Jasmine,
    -- Jasmine --
      0  0

  20. #60
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 563
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2003
    Messages : 1 563
    Points : 2 003
    Points
    2 003
    Par défaut
    Citation Envoyé par Jasmine80 Voir le message
    Le problème vient du fait que tu manipules une array comme si c'était un scalaire. Tu dois utiliser une bouche foreach et appeler une à une les valeurs de ton tableau. Ou alors faire un "print join" sur ton array.

    http://lhullier.developpez.com/tutor...e=page_5#LIV-1


    Jasmine,
    Pas nécessairement, regarde :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @toto = ("titi", "tutu", "tata", "toto");
    print @toto;    # affiche tititututatatoto
    C'est juste que son tableau @s ne contient rien.
      0  0

Discussion fermée
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 8
    Dernier message: 25/02/2009, 16h52
  2. Problème Lecture fichier
    Par Gebudi. dans le forum C++
    Réponses: 1
    Dernier message: 29/05/2006, 09h37
  3. problème lecture fichier
    Par Pleymo dans le forum Langage
    Réponses: 2
    Dernier message: 23/11/2005, 10h00
  4. [SAX] Problème lecture fichier xml
    Par BernardT dans le forum Format d'échange (XML, JSON...)
    Réponses: 3
    Dernier message: 07/07/2005, 19h11
  5. Problème lecture fichier en C++
    Par cali1983 dans le forum C++
    Réponses: 17
    Dernier message: 20/05/2005, 10h36

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