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 :

Passage à un autre ligne


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Par défaut Passage à un autre ligne
    Bonjour
    Je reviens à mon pb d'hier, qui en fait se résume à ceci
    comment extraire la ligne d'un fichier quand les seules constantes qui permettent de l'identifier concernent non pas la ligne en question mais les lignes qui l'encadrent.
    En utilisant la fonction next if avec condition sur la ligne qui précède celle qui m'intéresse, je peux passer à ligne suivante mais comment la récuprérer puisqu'elle n'est pas identifiable.
    Je sèche et j'ai vraiment besoin de passer cette difficulté.
    Merci

  2. #2
    Membre Expert Avatar de MarneusCalgarXP
    Profil pro
    Inscrit en
    Juillet 2006
    Messages
    911
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2006
    Messages : 911
    Par défaut
    je n'ai pas suivi le post précédent, mais si ton fichier a un format du genre

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    MOT CLE 1
    ligne1
    ligne2
    ligne3
    MOT CLE 2
    ligne4
    ligne5
    ligne6
    (avec ligne1, 2 et 3 en relation à mot clé 1, et ligne 4, 5, et 6 en relation avec mot clé 2), il te suffit de procéder ainsi:

    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
     
    my $lastkeyword = '';
    my %hash = ();
     
    open(my $input, '<', $filename) or die();
    while(<$input>) {
        if ( m/^(MOT CLE \d+)$/ ) {
            $lastkeyword = $1;
            next;
        } else {
            # si on est ici, c'est qu'on est sur une ligne normale, qu'on va stocker en relation avec le mot clé
            $hash{$lastkeyword}{$_} = 1;
        }
    }
    close($input);

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Par défaut
    Merci de ta réponse.
    Je vais essayer ce que tu m'a envoyé.
    A suivre.

  4. #4
    Membre Expert
    Avatar de Woufeil
    Profil pro
    Étudiant
    Inscrit en
    Février 2006
    Messages
    1 076
    Détails du profil
    Informations personnelles :
    Âge : 37
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Par défaut
    Bonjour,

    MarneusCalgarXP, ton code construit un hash de hash, je ne suis pas persuadé que c'est le besoin de khasanouray...

    De plus, ton code suppose que tu n'as pas de ligne inutiles, est-ce le cas khasanouray ? Pourrais-t-on avoir la structure précise du fichier ainsi que du résultat attendu (avec pourquoi pas un exemple) ?

  5. #5
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    43
    Détails du profil
    Informations forums :
    Inscription : Mai 2007
    Messages : 43
    Par défaut
    la structure attendue est du type
    élt1,nom de liste1,X
    élt2,--------------
    élt3,--------------
    élt1,------------2,X
    élt2,--------------
    élt3,--------------
    .
    .
    .
    élt1------------n,X
    élt2,--------------
    élt3,--------------

Discussions similaires

  1. [Access] Max + 3 autres lignes suivantes
    Par Le Pharaon dans le forum Langage SQL
    Réponses: 8
    Dernier message: 28/07/2006, 14h44
  2. Retour et passage a la ligne
    Par gailup dans le forum Langage
    Réponses: 11
    Dernier message: 31/05/2006, 14h26
  3. Réponses: 9
    Dernier message: 15/05/2006, 14h29
  4. [NetBeans] probleme de passage a la ligne de commande
    Par trollchichon dans le forum NetBeans
    Réponses: 7
    Dernier message: 01/03/2006, 19h57
  5. Passage de plusieurs lignes a 1 ligne
    Par Etienne1 dans le forum MS SQL Server
    Réponses: 3
    Dernier message: 19/08/2004, 18h26

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