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 :

optimisation code condition


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Inscrit en
    Mars 2006
    Messages
    624
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 624
    Par défaut optimisation code condition
    Bonjour,

    Comment puis je faire pour réduire mon code ou le rendre plus lisible, car je souhaiterai controler toutes ces variables de mon tableau.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
     
    my $InitEnv=$InitTableau[$#InitTableau];
    if ( $InitEnv ne "MOE1" && $InitEnv ne "MOE2" && $InitEnv ne "MOE2" && $InitEnv ne "MOE3" && $InitEnv ne "MOE4" $InitEnv ne "MOE5" && $InitEnv ne "MOE6" && $InitEnv ne "MOE7" && $InitEnv ne "MOE8" && $InitEnv ne "MOA1" &&  $InitEnv ne "FORM" &&   $InitEnv ne "MIGR" &&   $InitEnv ne "PPRD" &&   $InitEnv ne "PROD"  ) 
    	{
    	print "Erreur repertoire de lancement: $InitBaseRep \n" ;
    	print "Il faut se placer dans un repertoire correspondant a l'environnement MOE1,MOA1,FORM,MIGR,PPRD ou PROD \n";
    	exit ;
    	}

    Merci d'avance

  2. #2
    Rédacteur/Modérateur

    Avatar de Lolo78
    Homme Profil pro
    Conseil - Consultant en systèmes d'information
    Inscrit en
    Mai 2012
    Messages
    3 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Conseil - Consultant en systèmes d'information
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2012
    Messages : 3 612
    Billets dans le blog
    1
    Par défaut
    Bonsoir,

    pas 100% sûr de ce que tu veux faire, mais dans ce genre de cas, je créerais sans doute un tableau ou un hachage avec les différentes valeurs possibles. Par exemple un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    my %vals = map { $_ => 1 } qw / MOE1 MOE2 MOE3 MOE4 MOE5... MOA1 FORM .../;
    unless (exists $vals{$InitEnv}) {
        print "Erreur repertoire de lancement: $InitBaseRep \n" ;
        print "Il faut se placer dans un repertoire correspondant a l'environnement MOE1,MOA1,FORM,MIGR,PPRD ou PROD \n";
        exit;
    }
    Après, s'il y a vraiment beaucoup de MOEx, on peut aussi les créer automatiquement dans une boucle ou un map:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    my @moe = map "MOE$_" for 1..8;
    et utiliser le tableau ainsi créé pour la constituion du hachage.

  3. #3
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Comme toujours, des réponses très pertinentes .

Discussions similaires

  1. optimisation code condition
    Par vince2005 dans le forum Langage
    Réponses: 1
    Dernier message: 06/02/2017, 22h27
  2. Réponses: 13
    Dernier message: 22/02/2008, 18h55
  3. Optimiser code VBA
    Par willytito dans le forum VBA Access
    Réponses: 5
    Dernier message: 19/11/2007, 09h49
  4. Réponses: 1
    Dernier message: 04/12/2006, 07h55
  5. [Compilateur] Optimisation des conditions
    Par Pedro dans le forum Langage
    Réponses: 2
    Dernier message: 16/06/2004, 13h49

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