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 :

La commande raccourcie de "if"


Sujet :

Langage Perl

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Par défaut La commande raccourcie de "if"
    Bonjour à toutes et à tous,

    Voici mon souci, probablement du à ma faible maîtrise du langage PERL:

    Quand je tape le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (unpack('I', $activated) == 1)
    {
    	$var_mod = \%modules;
    }
    else
    {
    	$var_mod = \%modules_NA;
    }
    Ma variable $var_mod contient bien l'adresse du hash %modules comme attendu.

    En revanche, si je tape la commande suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    (unpack('I', $activated) == 1) ? $var_mod = \%modules : $var_mod = \%modules_NA;
    Ma variable $var_mod prend l'adresse du hash %modules_NA.

    Quelqu'un aurait-il une explication à celà ?

    Merci par avance,
    Mickaël

  2. #2
    Rédactrice

    Avatar de stoyak
    Profil pro
    Inscrit en
    Juin 2005
    Messages
    408
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2005
    Messages : 408
    Par défaut
    Voici la bonne écriture
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    my $var_mod = (unpack('I', $activated) == 1)  ?  \%modules :  \%modules_NA;

  3. #3
    Membre averti
    Inscrit en
    Mai 2007
    Messages
    52
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mai 2007
    Messages : 52
    Par défaut
    Salut Stoyak,

    Merci pour la réponse. Pourrais-tu juste m'expliquer la différence qu'il y a entre la notation que j'ai utilisée et la tienne? Que se passe-t-il exactement dans mon cas ?

    Encore merci,
    Mickaël

  4. #4
    Expert confirmé

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2009
    Messages
    3 577
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 59
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Avril 2009
    Messages : 3 577
    Par défaut
    Perl exécute l'équivalent de ceci (note la position des parenthèses que j'ai ajoutées) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((unpack('I', $activated) == 1) ? $var_mod = \%modules : $var_mod) = \%modules_NA;

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

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