Zeilenumbruch

Ich habe mein Perl-Script zu Hause auf meinem lokal eingerichteten Server geschrieben und ausprobiert. Um einen Zeilenumbruch zu machen (z.B. in einer .dat oder .htm - Datei) benutze ich jeweils das „\n“-Zeichen.
Mein Problem ist nun, dass dieses nicht mehr zu funktionieren scheint, wenn ich es auf den Web-Server ins Internet lade. Ich bringe keine Zeilenumbrüche mehr hin.
Kennt jemand dieses Problem? Könnte es z.B. sein, dass ein anderer Server andere Steuerzeichen verlangt?

Danke für die Hilfe

Stephan

Hi!
Diese Steuerzeichen sind standartisiert, es gibt also keine Unterschiede zwischen den Servern.
Vermutlich liegt dein Problem daran, dass die aktuellen Browser eine neue Zeile in einer HTML-Datei nicht umbedingt als eine neue Zeile interpretieren! Versuch’s doch mal mit dem
-Tag! So sollte es funktionieren.
CU
Dennis

Hallo Dennis

Am Browser kann’s nicht liegen, denn ich schreibe in eine ganz normale Textdatei. (print XY „\n$meineDaten“:wink:
Eigentlich sollte jeder Eintrag auf eine neue Zeile kommen. Das geschieht aber nicht, es werden alle Einträge bei der letzten Zeile angehängt.

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

reiner Text:

print "Content-Type: text/plain\n\n";
print "Zeile1\nZeile2\nZeile3\n";

Html-Text:

print "Content-Type: text/html\n\n";
print "";
print "Zeile1
Zeile2
Zeile3
";
print "";

Hallo Markus
Das klappt leider auch so nicht.
Wenn ich wie von dir vorgeschlagen
print „Content-Type: text/plain\n\n“;
notieren, dann schreibt mir der Browser ganz einfach diese Zeile ins Fenster.

Mit
open (XY, „>>$datei.dat“);
print XY „Content-Type: text/plain\n\n“;
print XY „\n$variable“;
close (XY);

Wird einfach der Text „Content-Type: text/plain\n\n“ auf die erste Zeile geschrieben und danach auf der gleichen Zeile (trotz \n\n) folgt die Variable.

Ich kann mir das echt nich erklären.

Weiss jemand einen Rat?

Besten Dank schon mal

Stephan

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Ich habe im obigen Artikel einen kleine Tip-Fehler gemacht: meine Datei heisst natürlich datei.dat und nicht $datei.dat.
Das Problem bleibt aber das gleiche.
Wer kann mir helfen?

[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]

Hallo,

Wenn ich wie von dir vorgeschlagen
print „Content-Type: text/plain\n\n“;
notieren, dann schreibt mir der Browser ganz einfach diese
Zeile ins Fenster.

Mit
open (XY, „>>$datei.dat“);
print XY „Content-Type: text/plain\n\n“;
print XY „\n$variable“;
close (XY);

Wird einfach der Text „Content-Type: text/plain\n\n“ auf die
erste Zeile geschrieben und danach auf der gleichen Zeile
(trotz \n\n) folgt die Variable.

Ich kann mir das echt nich erklären.

Dann mal die Frage: was hast Du denn in der Datei am
Anfang stehen. Das Problem ist, dass die obigen
Zeilen an die bestehende Datei angefügt werden, wegen
dem „>>“. Der Webserver interpretiert aber nur die
ersten Zeilen der Datei bis zum doppelten
Newline.

Wenn Du irgendwo in der Mitte ein „Content-Type …“
in einer Datei stehen hast, wird das ganz korrekt
vom Server ignoriert und vom Browser angezeigt,
bringt also nicht den gewünschten Effekt.

Ein zweiter Punkt ist die Dateiendung. „.dat“ wird
wohl weder vom Webserver noch vom Browser als sinnvolles
Dateiformat erkannt. Wenn Du eine Textdatei ausgeben
möchtest, dann verwende die Dateiendung *.txt.

Gruss,
-Andreas.