chop und chomp
Der Befehl chop
entfernt das letzt Zeichen einer Skalarvariabel:
$a = "Sahanya";
# Sahany (letzter Buchstabe fehlt)
chop ($a);
chop ($a);
#Sahan (“)
Während der Befehl chomp
sich nur auf den Newline-Befehl \n
bezieht.
Eine Eingabeaufforderung mit <STDIN>
wird in der Regel mit chomp
beendet, um sicherzustellen, dass das Newline-Zeichen entfernt wird:
$eingabe = <STDIN>;
chomp $eingabe;
Das ganze geht aber auch kürzer:
chomp ($eingabe = <STDIN>);
Manchmal sollte bzw. muss man allerdings nach einer Eingabeaufforderung auch auf den chomp-Befehl verzichten, z. B. wenn man möchte, dass ein Wert in getrennten Zeilen untereinander ausgegeben wird.
Wenn $wort = "hallo"
und $anzahl = 4
ergibt der folgende Code: hallohallohallohallo
print "Wie lautet das Wort?\n";
# \n bewirkt, dass Anwort in neuer Zeile gegeben wird
chomp ($wort = <STDIN>);
print "Wie oft soll es wiederholt werden?\n";
chomp ($anzahl = <STDIN>);
# \n bewirkt, dass erstes Wort nach Leerzeile startet
$c = $wort x $anzahl;
#print "So sieht das aus \n$c";
Wenn $wort = "hallo"
und $anzahl = 4
ergibt der folgende Code:
hallo
hallo
hallo
hallo
print "Wie lautet das Wort?\n";
#fehlendes chomp bewirkt, dass Antwort in mehreren Zeilen ist, weil newline bleibt
$wort = <STDIN>;
print "Wie oft soll es wiederholt werden?\n";
# \n bewirkt, dass Anwort in neuer Zeile gegeben wird
chomp ($anzahl = <STDIN>);
# \n bewirkt, dass erstes Wort nach einer Lerzeile startet
$c = $wort x $anzahl;
print "\n$c";
Keine Kommentare
Noch keine Kommentare
RSS Feed für Kommentare zu diesem Artikel.
Entschuldige, das Kommentarformular ist zurzeit geschlossen.