Question débutant while, if/else
Bonjour, j'ai fait un code inspiré d'un tuto perl d'un site (dont tous les membres sont en vacances, en tout cas les perlistes) qui ne me renvoie pas d'erreur mais ne fait pas ce que je voulais. voilà le code qui est assez claire je crois :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63
| use strict;
use warnings;
print "Choisissez un animal dans la liste. \
L'ordinateur le retrouvera grace aux reponses que \
vous ferez aux questions qu'il vous posera.\n";
print "Vous repondez par oui ou par non.\n\n";
my $continuer="";
print "lion, elephant, girafe, gazelle\n\n";
while ($continuer ne "n")
{
print "L'animal est-il carnivore ? \n";
my $Reponse=<>;
chomp $Reponse;
if ($Reponse eq 'oui')
{
print "C'est un lion.\n";
print "voulez-vous continuer (o/n) ? \n";
my $continuer=<>;
chomp $continuer;
}
else
{
print "L'animal a-t-il un long cou ? \n";
my $Reponse=<>;
chomp $Reponse;
}
if ($Reponse eq 'oui')
{
print "c'est une girafe\n";
print "voulez-vous continuer (o/n) ? \n";
my $continuer=<>;
chomp $continuer;
}
else
{
print "L'animal a-t-il des defenses ? \n";
my $Reponse=<>;
chomp $Reponse;
}
if ($Reponse eq 'oui')
{
print "C'est un elephant.\n";
print "voulez-vous continuer (o/n) ? \n";
my $continuer=<>;
chomp $continuer;
}
else
{
print "C'est une gazelle.\n";
print "voulez-vous continuer (o/n) ? \n";
my $continuer=<>;
chomp $continuer;
}
}
<>; |
Le soucis c'est que quand je réponds 'non' ou 'oui' d'ailleurs à la question "voulez-vous continuer" le programme continue se s'exécuter ou également en répondant 'oui' à la question "L'animal a-t-il des défenses ?" le prog répond "C'est une gazelle".
http://imageshack.us/scaled/thumb/821/jcf.png
Si quelqu'un peut m'éclairer ?