Aquariophile: \n verloren :-(

Beitrag lesen

Hallo !!

Danke, dass Du Dich meines Problems annimmst.

Es geht um folgendes:
Mein Script ließt eine 3-zeilige Datafile aus.
Jede Zeile enthält die Zahl 3.

Das schaut dann also so aus:

3
3
3

Nun kommt das Script her,
printet die 3 zeilen,
dann erhöht es den Wert der 2. Zeile um 1 und schreibt die Datafile neu.

Dabei sollte _kein_ zeilenumbruch verloren gehen.

in der Praxis schaut es aber so aus,
dass nach dem 2. reload plötzlich _keine_ 3 Zeilen,
sondern nur mehr 2 oder gar nur mehr 1 Zeile da ist.

Um das zu verhindern habe ich an die zu schreibende Zeile schon versucht ein \n ranzumachen,
aber dann kommen doppelte Zeilenabstände....

Bitte helfen.
Danke

-----------------------------------------------------

#!/usr/bin/perl

"Content-type: text/html\n\n";

use strict;
use CGI;

open (DATA, "<data.dat") || die "error";
my @data = <DATA>;
close(DATA);

print "Vor dem schreiben der Datafile<br><br>\n\n";
print $data[0]."<br>\n";
print $data[1]."<br>\n";
print $data[2]."<br>\n";

open (DATA, ">data.dat")  || die "error";
$data[1]++;
print DATA @data;
close(DATA);

print "<br>NACH dem schreiben der Datafile<br><br>\n\n";
print $data[0]."<br>\n";
print $data[1]."<br>\n";
print $data[2]."<br>\n";

-----------------------------------------------------

Anmerkung:
So schaut es LEIDER aus:

Ohne irgendwas:
3
3
3

Erster- Reload
3
4
3

zweiter reload

3
44

Also die Dritte Zeile geht verloren und die unteren beiden zeilen schiben sich ohne \n zusammen :-/

----------------------

So SOLLT Es aussehen:

3
3
3

-----------

3
4
3
--------------

3
5
3
-------------
3
6
3
--------------

Danke,
Aqua