Michael Winken: CGI: Wofür ist chomp; ?

Beitrag lesen

Hye, leider konnte ich in selfHTML keine erklärung zu dem Befehl chomp finden.

kann mir jemand von euch sagen wofür der gut ist?

cu

Hallo Bogus,

mit chomp() entfernst Du einen abschliessenden Zeilenvorschub aus einem String, falls einer da ist.
Wenn Du einen Benutzer zu einer Eingabe aufforderst und das abschliessende [ENTER] des Benutzers die weitere Verarbeitung des Strings anstoesst, hast Du ein unerwuenschtes "Newline" in Deinem String.
Beispiel:

print "Wie ist Dein Name?";
   $name = <STDIN>;

Damit wartet Dein Programm auf eine Eingabe, die mit ENTER abzuschliessen ist. Der String lautet dann nach Eingabe von "Michael": "Michael\n". Da Du in der Regel diesen Zeilenvorschub nicht im String brauchen kannst, entfernt ihn chomp().

chomp $name;

Jetzt kannst Du die Eingabe sinnvoll verarbeiten, z.B.

if ($name eq "Michael") {
            ...Willkommen...
   }else{
            ...Hallo Fremder...
   };

Viel Spass noch,
Michael