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 :

Recherche + Modification liste


Sujet :

Langage Perl

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut Recherche + Modification liste
    Bonjour, je suis bloqué dans mon programme par qqch que je ne parviens pas a realiser. Je souhaite modifier un seul element dans une liste mais je dois rechercher cet element dans cet liste, soit : @liste = (aaa, abz, abd, axd);
    Je dois rechercher un element se terminant par bz et le modifier en bza, pour enfin recuperer ma liste modifiée, soit :
    @liste = (aaa, abza, abd, axd)
    Je ne parviens pas à combiner les fonctions map ou grep suivantes.

    liste2 = map( { expression } liste1 );
    liste2 = map( { fonction($_) } liste1 );
    liste2 = grep { sélection } liste1;
    liste2 = grep( /regexp/, liste1 );
    liste2 = grep { fonction($_) } liste1;

    Pouvez vous me donner une piste, merci

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

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Février 2006
    Messages : 1 076
    Points : 2 004
    Points
    2 004
    Par défaut
    Bonjour.

    Personnelement, j'utiliserais plutôt des regexp

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    foreach my $elem (@liste)
    {
    	$elem =~ s/bz$/bza/g;
    }
    Et voilà !
    "En essayant continuellement, on finit par réussir. Donc : plus ça rate, plus on a de chances que ça marche" (devise Shadock)
    Application :

    ainsi qu'à regarder la avant de poser une question.

    La rubrique Perl recrute, contactez-moi.

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    11
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    Je voulais me prendre pour un caïd et faire en 1 ligne...
    Cette solution me conviens et en plus je l'a comprend.

    Merci pour ton aide.

  4. #4
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 427
    Points : 459
    Points
    459
    Par défaut
    tu peux la faire en une ligne:
    Recherche staigiaire(s) motivé(s) sur projet perl/reseau a grande echelle. Me contacter par mp.

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

    Informations forums :
    Inscription : Décembre 2006
    Messages : 11
    Points : 7
    Points
    7
    Par défaut
    J'allais essayer ce qui suit :
    my @liste1 = grep (s/bz$/bza/g, @liste1);

    Mais ca c'est encore mieux, je ne pense jamais a cette syntaxe:
    s/bz$/bza/ for @list

    Merci pour votre aide.

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    427
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2006
    Messages : 427
    Points : 459
    Points
    459
    Par défaut
    en fait c'est equivalent à
    mais en plsu efficace puisqu'on ne cherche pas à recreer une liste en sortie (bien que ce cas soit optimisé dans les dernieres version de perl)
    Recherche staigiaire(s) motivé(s) sur projet perl/reseau a grande echelle. Me contacter par mp.

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

Discussions similaires

  1. Recherche cours liste CSS
    Par php_de_travers dans le forum Mise en page CSS
    Réponses: 2
    Dernier message: 20/01/2007, 11h20
  2. Réponses: 7
    Dernier message: 31/08/2006, 14h11
  3. Modification liste deroulante avec GTK
    Par le_sonic dans le forum GTK+ avec C & C++
    Réponses: 15
    Dernier message: 04/08/2006, 00h48
  4. recherche par liste déroulante dans un formulaire
    Par toto10 dans le forum Access
    Réponses: 13
    Dernier message: 07/07/2006, 16h49
  5. Recherche selon liste deroulante
    Par martonpylon12 dans le forum IHM
    Réponses: 6
    Dernier message: 21/12/2005, 20h00

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