Hi Beat,
Wenn du umbedingt alles in einem einzigen String haben will, empfiehlt es sich, den String aus Zeilen zu akreditieren.
my string = "";
open( FH, "<", $path ) or die("$!, Textdatei nicht gefunden.");
while( <FH> ){
$string .= $_;
}
close( FH );Der Vorteil ist, dass dein File als eine Zeilen separierte Datei betrachtet wird. Da müssen dir \n im Text schon mal keine Sorge machen.
Hmmm, O.K....
Nachdem ich akreditieren im Duden nachgeschlagen habe, ist das Problem schon mal erledigt *g*
Bleibt das Problem mit deiner Antwort:
Also du sagst es geht ganz normal mit:
open(DATENDATEI, "</artikel_text/rauchen.txt");
flock(DATENDATEI, LOCK_SH);
Dann wäre die Datei mal offen. Variabeln in Perl beginnen ja mit dem Dollarzeichen z. B. "$Text". Der Rest ist mir noch etwas suspect. Zielte deine Antwort darauf ab, daß ich den Text in rauchen.txt sogar als Block mit Umbrüchen schreiben könnte, und dann dein Konstrukt den Absatz in ein einzeiligen Strig verwandelt?
Diese Zeile habe ich nicht verstanden:
my string = "";
open( FH, "<", $path ) or die("$!, Textdatei nicht gefunden.");
^^^^^^^^^^^^^^ ^
$path? FH? wenn Datei nicht da ist stop (oder stirb *g*)
Gibt es keine Art $Text = read (all)?
Grüsse gary