Thread \n aus files wird nicht als newline behandelt
(8 answers)
Opened by DanielH at 2008-03-04 16:40
Die Zeichen \n, \r etc. haben nur dann eine besondere Bedeutung, wenn sie in doppelten Anführungszeichen (oder einem vergleichbaren Quoting) im Quellcode des Programms stehen. Die Zeichenfolge "\n" in einer Datei ist einfach nur "Backslash gefolgt von n", nichts anderes.
Das ist übrigens in anderen Programmiersprachen wie C, C++ oder Java genauso. Wenn du ein wörtliches "\n" in einer Datei in das interne \n von Perl (das Zeichen mit dem ASCII-Code 10) umwandeln möchtest, kannst du es ersetzen: Code (perl): (dl
)
$text =~ s/\\n/\n/g; oder exakter (10 dezimal == 012 oktal): Code (perl): (dl
)
$text =~ s/\\n/\012/g; Bedenke aber, dass ein \n beim Lesen oder Schreiben von Textdateien je nach Plattform umgewandelt wird, siehe perlport#Newlines. |