Thread Matching von bis in einer Datei (24 answers)
Opened by Rambo at 2009-05-04 14:54

Rambo
 2009-05-04 14:54
#121142 #121142
User since
2003-08-14
803 Artikel
BenutzerIn

user image
Hallo liebe Forengemeinde,

bin auch mal wieder im Lande :-)
Ich habe ein Frage bezüglich des Matchings in einer Datei.
Ich gebe einen Suchbegriff ein der dann in "$String" drin steht, nun soll alles von diesem Suchstring bis zum ersten [end.message] raus geschrieben werden.
Beispiel der auszulesenden Datei:
Code: (dl )
1
2
3
4
5
6
7
8
9
10
test 1 von Computer 4711
MHz = 500
RAM = 256
Screen = 17 Zoll
[end.message]
test 2 von Computer 0815
MHz = 1500
RAM = 512
Screen = 21 Zoll
[end.message]


Wenn ich jetzt als Suche "test 1" eingebe soll alles von "test 1" bis zum ersten darauf folgenden "[end.message]" raus gesucht werden.
Mein derzeitige Code macht dies aber leider nicht so wie ich möchte.

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
while (defined(my $line = $fh->getline())) { 
chomp($line);
my $end_line = "[end.message]";
#if ($line =~ /$String/ && $line =~ /$end_line/) {
if ($line =~ m/$String|$end_line/) {
my $Zeile = $fh->input_line_number;
my $read = $fh->read(my $buffer, 32*1024);
open(LOG, ">>result.txt") or die $!;
print LOG "$line $end_line,\n";
close LOG;
} # if
} # while
$fh->close();
}
}
}


Irgendetwas mache ich in der Zeile "if ($line =~ m/$String|$end_line/)" verkehrt.
Bitte um Erleuchtung :-)
Vg Remo

View full thread Matching von bis in einer Datei