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 :

Script qui marche mais pas elegant[newbie]


Sujet :

Langage Perl

  1. #1
    Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut Script qui marche mais pas elegant[newbie]
    Hi all!

    Bon alors voila, je fais du perl depuis environ 2 jours et g un morceau de code qui ressemble a ca:

    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
    while(<SOURCE>){
    $tab1[$cpt1++] = $_;
    last if ($_ =~ /^chaine1/);
    }
    while(<SOURCE>){
    $tab2[$cpt2++] = $_;
    last if ($_ =~ /^chaine2/);
    }
    while(<SOURCE>){
    $tab3[$cpt3++] = $_;
    last if ($_ =~ /^chaine3/);
    }
    while(<SOURCE>){
    $tab4[$cpt4++] = $_;
    last if ($_ =~ /^chaine4/);
    }
    etc
    etc

    En tout 11 boucles while, et a chaque fois les variables tab(i), cpt(i), avec i(1..n)
    Comment rendre tout ca un peu plus joli avec perl, et faire executer le while en boucle sur i?

    Je sais pas si c'est clair,

    Je sais la solution doit etre toute naze, vous moquez pas, la prog et moi ca fait 2
    Celui qui pourra m'aider aura mon eternelle gratitude...

  2. #2
    Expert éminent
    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
    Points : 8 586
    Points
    8 586
    Par défaut
    Tu pourrais faire un truc comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
     
    my @tabReg = ( qr/^ma_chaine1/, qr/^ma_chaine2/, ... );
    my @tabCont;
    my $part = 0;
    my $cpt = 0;
     
    while( <SOURCE> ){
      $tabCont[$part][$cpt++] = $_;
      if( m/$tabReg[$part]/ ){
        $part++; $cpt = 0;
      }
    }
    --
    Jedaï

  3. #3
    Rédacteur

    Avatar de gege2061
    Femme Profil pro
    Administrateur de base de données
    Inscrit en
    Juin 2004
    Messages
    5 840
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 40
    Localisation : France

    Informations professionnelles :
    Activité : Administrateur de base de données

    Informations forums :
    Inscription : Juin 2004
    Messages : 5 840
    Points : 11 625
    Points
    11 625
    Par défaut
    Bonjour,
    de façon générale, si tu commence à utiliser des indices pour nommer t'es variables :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $cpt1
    $cpt2
    $cpt3
    ...
    C'est que tu peut utiliser un tableau à la place :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    $cpt[1]
    $cpt[2]
    $cpt[3]
    ...
    Si tu débute en programmation, n'oublie pas qu'un papier et un crayon peuvent te faire gagner du temps

  4. #4
    Candidat au Club
    Inscrit en
    Octobre 2005
    Messages
    4
    Détails du profil
    Informations forums :
    Inscription : Octobre 2005
    Messages : 4
    Points : 2
    Points
    2
    Par défaut
    Thanx!

    Merci de m'avoir eclaire l'espace d'un instant,

    je continue ma quete du savoir Perl ultime,

    avec un papier et un crayon...

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Un autre conseil; lis la FAQ qu'on a écrit et les cours de GLdavid sur dvp.com
    Ce sera un bon début pour toi,
    courage!!

Discussions similaires

  1. history.go et IE qui marche.. mais pas tout à fait !
    Par sacha69 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 19/09/2008, 11h54
  2. Script qui marche sous FF mais pas sous IE
    Par xclam dans le forum Général JavaScript
    Réponses: 27
    Dernier message: 11/05/2007, 12h26
  3. script qui marche dans la console firebug mais pas a l'execution
    Par xclam dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 11/05/2007, 12h16
  4. Code qui marche, mais pas la mise à jour
    Par Cablan dans le forum Access
    Réponses: 7
    Dernier message: 24/10/2005, 17h09
  5. [PL/SQL] requete qui marche mais pas dans un cursor
    Par victor.ward dans le forum Langage SQL
    Réponses: 3
    Dernier message: 09/09/2005, 22h21

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