Judith: öffnen einer Datei und eine Zeile löschen (Die 2-te)

Beitrag lesen

Hi!

Hallo

Es gilingt mir aber nicht so recht, ausserdem löscht der unten stehende
Quellcode immer nur die erste Zeile ?!

wenn die Zeile die du löschen willst ein Merkmal hat, das sie von den anderen Zeilen unterscheidet, zbsp $wort[0], dann kannst du mit if abfragen ob das merkmal in einer Zeile vorkommt und dann mit suchen/ersetzen die Zeile durch nichts ersetzen. In der selfhtml-doku unter perl beschrieben.
Ich glaube, das ist dein Problem, habe aber auch noch nicht soo viel erfahrung mit perl.

Grüsse von Judith

Könnte mir hier jemand den Fehler sagen, bzw. einen Tipp geben
wie das ander zu machen ist?

Vielen Dank für jede Antwort!

MfG Thomas

#######  Anfang der File ########
[...]

sub remove {

open (data, "<test.txt") or &error("fehler");
@data=<data>;
close(data);
$count=0;
foreach $data(@data) {
$count++;
@datax=split(/:/, $data); # möchte nicht bei ":" splitten, sondern jeweils mit einer neuen Zeile
if ($INPUT{'test'} eq "@datax[0]" and $INPUT{'test'}== "@datax[0]") {
$count--;
splice (@data, $count, 1);
open (wdata, ">test.txt") or &error("fehler");
}
print wdata @data;
close(wdata);
print "User gelöscht.";
exit;
}

[...]

######## EOF ############