Thread scriptproblem (4 answers)
Opened by FoCMB at 2007-12-03 11:53

FoCMB
 2007-12-03 11:53
#103392 #103392
User since
2007-12-03
2 Artikel
BenutzerIn
[default_avatar]
hi,
ich habe folgendes perl-script:

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
23
24
25
26
27
28
29
30
31
32
33
34
35
36
use strict;
#zu suchender String
#print "Was suchen?\n";
#my $string = <STDIN>;
#print "$string\n";
#print "Ab welcher Zeile schreiben?\n";
#my $lineNumber = <STDIN>;
my $lineNumber= 1;
# Verzeichnis öffnen und Anzahl *.txt zählen
print "test\n";
opendir(DIR,"Daten/alt/");
my @eintraege = readdir(DIR);
closedir(DIR);
my $anzahl = @eintraege;
# alle *.txt der Reihe nach öffnen...
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 $_;
#     print "Schreibe: $_\n";
    }
 }
 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

View full thread scriptproblem