Frage

Aus irgendeinem Grund funktionieren meine If -Aussagen nicht so, wie ich es möchte.

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";
}

Es sieht so aus, als ob es aus all den Tutorials, die ich gelesen habe, funktionieren sollte, aber wenn ich "Chris" einmüsse, egal ob kapitalisiert, Kleinbuchstaben, oder ohne Anführungszeichen, bewertet es immer auf False. Verwenden Sie strenge und verwenden Sie Warnungen, sagen Sie mir nicht, dass ich etwas falsch mache. Was kann ich, wenn überhaupt, tun?

War es hilfreich?

Lösung

Sie müssen verwenden chomp. Dadurch wird die Neue Zeile vom Ende der Eingabebestandung ausgestattet, die dort festgelegt wurde, als der Benutzer "Eingabetaste" eingegeben hat.

$syl = <>;
chomp $syl;
#.... etc...
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top