Perl conditionnelle en remplaçant pas valeur scalaire
-
26-10-2019 - |
Question
Pour une raison quelconque, mon si les déclarations ne fonctionnent pas comme je les veux.
use strict;
use warnings;
my $syl;
my $name = "Chris";
print "Enter my name\n";
$syl = <>;
if ($syl eq $name)
{
print "You entered my name!\n";
}
else
{
print "That's not my name!\n";
}
Il semble que cela devrait fonctionner à partir de tous les tutoriels que j'ai lu, mais quand je tape « Chris » si majuscules, minuscules, avec ou sans guillemets, il évalue toujours faux. Mises en garde et utiliser stricte utilisation ne me dites pas que je fais mal de quoi que ce soit quoi, si quelque chose, puis-je faire?
La solution
Vous devez utiliser chomp
. Que les bandes de la nouvelle ligne à la fin de la chaîne d'entrée qui se est mis là quand l'utilisateur a tapé « Entrée ».
$syl = <>;
chomp $syl;
#.... etc...
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow