sticky bit
23-02-2006, 18:59
Angenommen ich habe einen String, der aus mehreren Zeilen besteht und ich möchte diesen Einrücken.
$string =
'\
Ich bin eine Zeile.\
Und ich auch.\
Na und ich erst recht!\
';
Ich hatte die Idee einfach nach jedem Newline die Einrückung einzufügen (dass die erste Zeiel nicht eingerückt wird ist OK). Nur Leider ist dann nach dem allerletzten Newline, dem ja keine Zeile mehr folgt auch noch die Einrückung.
$string =~ s/\n/\n\t/g;
Nun Frage ich mich, ob es nicht irgendwie geht auf das Ende im negierten Sinn zu erkennen. Ich meine /\n$/ würde ja nur den Newline am Ende finden, wenn man das umgekehrt machen könnte also finde alle Newlines nur nicht das am Ende?
P. S.: Durch die Einrückung bin ich auf die Idee gekommen, es ist aber eigentlich wurst weil das nur fürn Wegwerf-Skript war und ich die Einrückung zu viel am Ende einfach wieder abgeschnitten habe.
Mag sein, dass es vielleicht andere Lösungen dazu geben mag, etwa mit split() und join(), aber da bin ich nicht drauf aus, mir gehts eigentlich nur aus informativen Gründen um das Ende!
$string =
'\
Ich bin eine Zeile.\
Und ich auch.\
Na und ich erst recht!\
';
Ich hatte die Idee einfach nach jedem Newline die Einrückung einzufügen (dass die erste Zeiel nicht eingerückt wird ist OK). Nur Leider ist dann nach dem allerletzten Newline, dem ja keine Zeile mehr folgt auch noch die Einrückung.
$string =~ s/\n/\n\t/g;
Nun Frage ich mich, ob es nicht irgendwie geht auf das Ende im negierten Sinn zu erkennen. Ich meine /\n$/ würde ja nur den Newline am Ende finden, wenn man das umgekehrt machen könnte also finde alle Newlines nur nicht das am Ende?
P. S.: Durch die Einrückung bin ich auf die Idee gekommen, es ist aber eigentlich wurst weil das nur fürn Wegwerf-Skript war und ich die Einrückung zu viel am Ende einfach wieder abgeschnitten habe.
Mag sein, dass es vielleicht andere Lösungen dazu geben mag, etwa mit split() und join(), aber da bin ich nicht drauf aus, mir gehts eigentlich nur aus informativen Gründen um das Ende!