hi,
ich habe folgendes perl-script:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use strict;
my $lineNumber= 1;
print "test\n";
opendir(DIR,"Daten/alt/");
my @eintraege = readdir(DIR);
closedir(DIR);
my $anzahl = @eintraege;
my $n = 0;
for ($n = 2 ; $n < $anzahl + 1 ; $n++)
{
my $filename = $eintraege[$n];
my $count = 0;
print "$filename\n";
open(DATEI2,">Daten/neu/$filename");
open (DATEI,"<Daten/alt/$filename");
while (<DATEI>)
{
next if ($_ =~ /XXXXXXXX/i);
$count++;
if ($count >$lineNumber)
{
print DATEI2 $_;
}
}
close DATEI;
close DATEI2;
}
es soll nach einer zeichenkette suchen und die zeile, die diese zeichenkette enthält löschen. die zeichenkette ist heir XXXXXXXX. wenn ich das direkt im script eingebe, funktioniert es. wenn ich es aber oben über doe $string variable mache, und diese unten bei "nextif ($_ =~/...../i) eintrage, dann funktioniert es nicht mehr. dann schreibt mir das script eine leere datei. vielleicht kann mir ja hier jemand helfen.
danke