Thread Probleme mit If Bedingung (4 answers)
Opened by guertelschnalle2 at 2011-09-28 16:10

guertelschnalle2
 2011-09-28 16:10
#152727 #152727
User since
2011-09-01
14 Artikel
BenutzerIn
[default_avatar]
Hi
ich muss eine Datei einlesen.
in dieser Datei stehen verschiedene Blöcke die durch $$$$ getrennt sind.
Ich will jeden Block in eine eigene Datei schreiben.(ohne $$$$ am Anfang oder Ende)
Aber ich bekomme die If Bedingung nicht hin.
Ich lese die Datei zuerst über while(<IN>) Zeile für Zeile ein. Und sobald die Zeile $$$$ kommt will ich das er mir die alte Datei schließt, eine neue öffnet und in dieser weiter schreibt. ich weiß nicht warum er dass nicht tut.
input und output wurden übergeben $j dient dazu damit er weiß ob er eine neue Datei öffnen soll oder nicht
$i dient dazu damit die Dateien in die die Blöcke geschrieben werden durchnummeriert werden (Molekühl1 Molekühl2) so wie es aktuell da steht macht er alles in eine Datei inkl. $$$$. wenn ich $_ == "\$\$\$\$" mache macht er mir für jede Zeile eine neue Datei auf...



Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
open IN,"<$input";
open OUT,">./$output/Molekuehl$i.sdf";
while (<IN>){
$j=0;
if ($_ eq "\$\$\$\$"){
$i++;
close OUT;
open OUT,">./$output/Molekuehl$i.sdf";
$j=1;
}
if ($j==0){
print OUT "$_\n";
}
}
close IN;
close OUT;

Last edited: 2011-09-28 16:15:25 +0200 (CEST)

View full thread Probleme mit If Bedingung