Thread Zeile in Datei finden und löschen - Funktioniert nicht (9 answers)
Opened by seraphim at 2008-06-15 17:48

Linuxer
 2008-06-15 23:10
#111049 #111049
User since
2006-01-27
3891 Artikel
HausmeisterIn

user image
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!

View full thread Zeile in Datei finden und löschen - Funktioniert nicht