2 votes

Les "if" imbriqués ou autre chose en Perl

J'ai introduit un simple if déclaration.

L'exigence est la suivante.

if (Condition1) {
    if (Condition2) {
        print "All OK";
    }
    else {
        print "Condition1 is true but condition2 not";
    }
    else {print "Condition1 not true";
}

Est-il possible d'écrire ce code en Perl ou existe-t-il un autre moyen plus court ou plus efficace de remplir cette condition ?

2voto

Zaid Points 21192

TIMTOWTDI à la opérateur ternaire :

print $condition1
      ? $condition2
        ? "All OK\n"
        : "Condition 1 true, Condition 2 false\n"
      :   "Condition 1 false\n";

2voto

ysth Points 54757

Les si condition 1 est vrai. La clause n'est pas clôturée } qui doit être inséré juste avant le dernier autre .

Essayez d'aligner les choses de cette manière :

if (...) {
    if (...) {
        ...
    }
    else {
        ...
    }
}
else {
    ....
}

1voto

Pavel Vlasov Points 2699

Vous pouvez utiliser donné lorsque si votre version de Perl est >= 5.10.

use v5.14;

my $condition1 = 'true';
my $condition2 = 'True';

given($condition1) {
    when (/^true$/) {
        given($condition2) {
            when (/^True$/) { say "condition 2 is True"; }
            default         { say "condition 2 is not True"; }
        }
    }
    default { say "condition 1 is not true"; }
}

1voto

librarian Points 129

Que diriez-vous de.. :

if (Condition1=false) {
     print "Condition1 not true";
}
elsif (Condition2=True ) {
    print "All OK"; 
}
else {
    print "Condition1 is true but condition2 not";  
}

0voto

nslntmnx Points 328
if (!Condition1) {
  print "Condition1 not true";
}
else {
  if (Condition2) {
    print "All OK";
  }
  else {
    print "Condition1 is true but condition2 not";
  }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X