Thread Wert aus Zeile auslesen in Abhängigkeit von einem Wert der Zeile darüber? (6 answers)
Opened by cybermaid at 2011-03-10 23:08

cybermaid
 2011-03-10 23:08
#146371 #146371
User since
2011-03-10
2 Artikel
BenutzerIn
[default_avatar]
Hallo und schönen Abend zusammen,
ich habe jetzt einige Stunden lang gesucht, aber keine Lösung gefunden, die mich zum gewünschten Ergebnis gebracht hat.
Ich möchte im Grunde etwas ganz Einfaches (und ich bin mir sicher, dass der Weg dahin schon tausendmal erklärt wurde - habe es leider nicht gefunden).

Ich möchte aus einer Datei (VP2) einen Wert aus einer bestimmten Zelle der Zeile x auslesen, aber nur, wenn in der Zeile davor (also x-1) in einer bestimmten anderen Zelle ein bestimmter Eintrag (nämlich ein f) ist.
Also: nur wenn in Zelle $auslese1[$spalte7] der Zeile x-1 ein "j" ist, soll (nach Vorliegen anderer Voraussetzungen, die sich aber alle auf die Zeile x beziehen) aus der Zelle $auslese1[$spalt1] der Zeile x der Wert entnommen werden.

Das Ganze möchte ich in den folgenden Code einbauen (der - ich weiß - alles andere als elegant und schon gar nicht sparsam ist, aber der Rest des Scripts funktioniert und ich kann leider nicht alles umbauen):



Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
while(<VP2>)						
{$zaehler++;
if ($zaehler < $anfang || $zaehler > $ende)
{next;}
chomp;
@auslese1 = split (/\t/, $_);

{

if ($auslese1[$spalt7] eq "j")
{if ($auslese1[$spalt2] eq "Gewonnen")
{print RELRE "$auslese1[$spalt1]\t";}
elsif($auslese1[$spalt2] eq "Verloren")

}
}
}




Versucht habe ich schon folgendes:


Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
while(<VP2>)						
{$zaehler++;
if ($zaehler < $anfang || $zaehler > $ende)
{next;}
chomp;
@auslese1 = split (/\t/, $_);

if ($auslese1[$spalte7] eq "j")
{next;}

{

if ($auslese1[$spalt7] eq "j")
{if ($auslese1[$spalt2] eq "Gewonnen")
{print RELRE "$auslese1[$spalt1]\t";}
elsif($auslese1[$spalt2] eq "Verloren")

}
}
}



und folgendes:



Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
while(<VP2>)						
{$zaehler++;
if ($zaehler < $anfang || $zaehler > $ende)
{next;}
chomp;
@auslese1 = split (/\t/, $_);

if ($auslese1[$spalt7] eq "j")
{$zaehler = ($zaehler + 1);


{

if ($auslese1[$spalt7] eq "j")
{if ($auslese1[$spalt2] eq "Gewonnen")
{print RELRE "$auslese1[$spalt1]\t";}



und folgendes (wobei: $anfangtv1 eine Zeile früher als $anfang bedeutet und $endetv1 eine Zeile früher als $ende ist):

Code: (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
while(<VP2>)						
{$zaehler++;
if ($zaehler < $anfang || $zaehler > $ende)
{next;}
chomp;
@auslese = split (/\t/, $_);

$zaehler10++;
if ($zaehler10 < $anfangtv1 || $zaehler10 > $endetv1)
{next;}

chomp;
@auslese10 = split (/\t/, $_);


if ($auslese10[$spalt7] eq "j")

{

if ($auslese1[$spalt7] eq "j")

{if ($auslese1[$spalt2] eq "Gewonnen")
{print RELRE "$auslese1[$spalt1]\t";}
elsif($auslese1[$spalt2] eq "Verloren")



Über Anregungen wäre ich Euch sehr dankbar!
Liebe Grüße
- C -

View full thread Wert aus Zeile auslesen in Abhängigkeit von einem Wert der Zeile darüber?