Thread Zeile in Datei finden und löschen - Funktioniert nicht
(9 answers)
Opened by seraphim at 2008-06-15 17:48
edit1: bei den Variablen verlesen; Antwort gelöscht, weil fehlerhaft
edit2: neuer Versuch: Mir scheint, dass der Umbruch in $srcpath nicht dem Wert innerhalb von $/ entspricht, wodurch das chomp($x) nicht greifen kann, weil $x immer noch den Zeilenumbruch enthält. Damit kann $search (kein Umbruch) niemals equal $x sein. Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 if ( ( $line[3] eq ":remove" ) && ( defined $line[4] ) ) { open my $handle1, '<', $srcpath or die "Cant open File: $!"; my @list; my $search = "$line[4]"; print Dumper($search); while ( my $x = <$handle1> ) { # VORSICHT HIER; PRUEFE mal den INHALT VON $x chomp $x; if ( $x ne $search ) { push @list, $x; # WO KOMMT DER UMBRUCH HER? print "$x"; } } print "AAAA @list"; close($handle1); open my $handle2, '>', $srcpath or die "Cant open File: $!"; foreach my $o (@list) { print $handle2 "$o\n"; } close($handle2); } meine Beiträge: I.d.R. alle Angaben ohne Gewähr und auf Linux abgestimmt!
Die Sprache heisst Perl, nicht PERL. - Bitte Crossposts als solche kenntlich machen! |