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 :

[langage] Parcourir une list de array


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 5
    Points : 5
    Points
    5
    Par défaut [langage] Parcourir une list de array
    Bonjour,

    j'ai le code suivant (en gros) :
    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
     
    use Cyrus::IMAP::Admin;
     
    my $imap = Cyrus::IMAP::Admin->new('localhost', 143);
     
    $imap->authenticate(
            -user     => $user,
            -mechanism => "LOGIN",
            -password => $password,
            );
     
    my @list = $imap->list("user.*");
     
    my $nb = @list;
     
    for(my $count=0; $count < $nb;$count++) {
                    $box = $list[$count][0];
                    print "$box\n";
    }
    Sauf que faire un for avec un $count ne me plait pas trop. J'aurais voulu faire un foreach. Mai pas moyen de trouver comment faire.

    Selon la doc :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
           listmailbox($pattern[, $reference])
           list($pattern[, $reference])
               List mailboxes matching the specified pattern, start­
               ing from the specified reference.  The result is a
               list; each element is an array containing the mailbox
               name, attributes, and the separator.  (This interface
               may change.)
    Merci.

  2. #2
    Membre chevronné
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Février 2003
    Messages
    1 581
    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 581
    Points : 2 029
    Points
    2 029
    Par défaut
    Tu sais, for et foreach font la même chose dans ton cas : ils parcourent un tableau, élément par élément

    Pourquoi ne pas en rester avec ta boucle for façon "C" ?

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    Citation Envoyé par Arioch
    Tu sais, for et foreach font la même chose dans ton cas : ils parcourent un tableau, élément par élément

    Pourquoi ne pas en rester avec ta boucle for façon "C" ?
    Et bien non for incremente un compteur qui me permet de parcourir ma list.

    Alors que foreach pourait me mettre la valeur courante du tableau directement dans $box.
    Ce qui m'éviterais de faire un $box = $list[$i] ce que je trouve vraiment moche.

  4. #4
    Membre expert
    Avatar de 2Eurocents
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    2 177
    Détails du profil
    Informations personnelles :
    Âge : 54
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 2 177
    Points : 3 166
    Points
    3 166
    Par défaut
    Est-ce que ceci t'inspire un début de solution ?

    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
    #!/usr/bin/perl -w
     
    my @sousliste1 = ('a', 'b', 'c', 'd');
    my @sousliste2 = ('e', 'f', 'g', 'h');
    my @sousliste3 = ('i', 'j', 'k', 'l');
    my @liste = ( \@sousliste1 , \@sousliste2, \@sousliste3 );
     
    print "for \n";
    for (my $i = 0 ; $i < @liste ; $i++)
      {
        print $i."e = ".$liste[$i][0]."\n";
      }
     
    print "foreach \n";
    foreach $element (@liste)
      {
        print $$element[0]."\n";
      }
    La FAQ Perl est par ici
    : La fonction "Rechercher", on aurait dû la nommer "Retrouver" - essayez et vous verrez pourquoi !

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    5
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 5
    Points : 5
    Points
    5
    Par défaut
    C'est exactement ça.

    Merci.

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

Discussions similaires

  1. Parcourir une liste de checkbox
    Par fet dans le forum ASP
    Réponses: 3
    Dernier message: 25/07/2006, 12h35
  2. Trie d'une liste d'array
    Par noOneIsInnocent dans le forum Collection et Stream
    Réponses: 15
    Dernier message: 06/01/2006, 12h05
  3. Parcourir une liste deroulante
    Par brandon dans le forum Général JavaScript
    Réponses: 9
    Dernier message: 17/02/2005, 19h03
  4. parcourir une liste de la fin vers le début
    Par zdra dans le forum SL & STL
    Réponses: 12
    Dernier message: 06/02/2005, 18h40
  5. Réponses: 5
    Dernier message: 21/07/2004, 19h34

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