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 :

glob à plusieurs motifs


Sujet :

Langage Perl

  1. #1
    Membre du Club Avatar de blacksnake
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 64
    Points : 69
    Points
    69
    Par défaut glob à plusieurs motifs
    Salut,

    Est - il possible de faire un glob avec plusieurs motifs pour éviter ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    @ARGV = glob "mod_src/*$sat\.csv" or die "No csv files in directory\n";
    while (<>) { push @global, $_; }
     
    @ARGV = glob "mod_src/*$sun\.csv" or die "No csv files in directory\n";
    while (<>) { push @global, $_; }
    Merci

  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
    Citation Envoyé par blacksnake
    Salut,

    Est - il possible de faire un glob avec plusieurs motifs pour éviter ceci :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    @ARGV = glob "mod_src/*$sat\.csv" or die "No csv files in directory\n";
    while (<>) { push @global, $_; }
     
    @ARGV = glob "mod_src/*$sun\.csv" or die "No csv files in directory\n";
    while (<>) { push @global, $_; }
    Merci
    Selon les systèmes, les glob ont différentes capacités, mais ici tu peux te contenter de faire quelque chose comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    @ARGV = glob("mod_src/*$sat\.csv"), glob("mod_src/*$sun\.csv") or die "No csv files in directory\n";
    while (<>) { push @global, $_; }
    --
    Jedaï

  3. #3
    Membre du Club Avatar de blacksnake
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 64
    Points : 69
    Points
    69
    Par défaut
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @ARGV = (glob "mod_src/*$sat\.csv", glob "mod_src/*$sun\.csv") or die "No csv files in directory\n";
    > Too many arguments for glob at monrule.pl line 35, near ""mod_src/*$sun\.csv") "

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @ARGV = (glob "mod_src/*$sat\.csv" and glob "mod_src/*$sun\.csv") or die "No csv files in directory\n";
    > Renvoie la totalité de $sun sans $sat

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    @ARGV = (glob "mod_src/*$sat\.csv" && glob "mod_src/*$sun\.csv") or die "No csv files in directory\n";
    > Renvoie une occurrence de $sun


    On est pas loin, qu'est ce qu'il ne faut pas faire pour taper le moins de code possible tks Jedai

  4. #4
    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
    Il suffit d'écrire plutôt ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    @ARGV = (glob("mod_src/*$sat\.csv"), glob("mod_src/*$sun\.csv")) 
      or die "No csv files in directory\n"; 
    while (<>) { push @global, $_; }
    --
    Jedaï

  5. #5
    Membre du Club Avatar de blacksnake
    Profil pro
    Inscrit en
    Octobre 2006
    Messages
    64
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2006
    Messages : 64
    Points : 69
    Points
    69
    Par défaut
    Impec', ça marche. Merci Jedai

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

Discussions similaires

  1. [XL-2002] Rechercher/Remplacer avec boucle et plusieurs motifs
    Par Canvas dans le forum Macros et VBA Excel
    Réponses: 2
    Dernier message: 27/03/2013, 14h09
  2. [RegEx] Rechercher un motif plusieurs fois
    Par alejandro dans le forum Langage
    Réponses: 12
    Dernier message: 03/10/2007, 20h36
  3. [Regex]Répurer plusieurs motifs
    Par gege2061 dans le forum Langage
    Réponses: 2
    Dernier message: 25/10/2005, 15h56
  4. Réponses: 4
    Dernier message: 02/09/2004, 21h43
  5. [Regex] Plusieurs motifs
    Par sissi_l dans le forum Collection et Stream
    Réponses: 3
    Dernier message: 29/06/2004, 14h15

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