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.

