undefined greift scheinbar nicht

Hallo zusammen,
ich bin Newcomer im Thema Perl und arbeite mich soeben darin ein.
Folgendes Codeschnippsel aus "Einführung in Perl" sollte eine Variable auf undef bzw. defined prüfen und eine entsprechende Ausgabe erzeugen.
$eingabe = <STDIN>;
if (defined ($eingabe)){
print "Die Eingabe lautet $eingabe";
}
else{
print "Es wurde kein Wert/String eingegeben";
}
Also, wenn ich nichts eingegeben habe und nur Enter drücke, sollte "Es wurde kein Wert/String eingegeben" angzeigt werden. Es wird aber immer "Die Eingabe lautet " eingegeben.
Ich habe es auch schon mit chomp versucht. Ergebnis war unverändert.
Was läuft hier falsch?
Beste Grüße
Luke
Trackback URL für diesen Beitrag:
- Anmelden oder Registrieren um Kommentare zu schreiben
- 1168 Aufrufe
-

die eingabe wird immer
die eingabe wird immer defined sein, wenn du enter drückst. denn es steht ein newline drin.
1.das newline musst du zuerst abschneiden. mit
chomp $eingabe;
2. danach ist $eingabe ein leerer string, der immer noch defined ist. du musst also statt auf defined darauf prüfen, ob $eingabe ein leerer string ist oder nicht.
mit welchem buch hast du perl gelernt?
wenn du schnellere hilfe wünschst, schau mal bei http://www.perl-community.de/ vorbei, da sind viel mehr leute.
perl-community.de - das forum mit wiki, scripts und grosser FAQ