Thread Tabellen (Dateien) Auswerten: Anfang finden (11 answers)
Opened by wiederlader at 2007-04-24 20:11

Ronnie
 2007-04-24 21:09
#76203 #76203
User since
2003-08-14
2022 Artikel
BenutzerIn
[default_avatar]
Entsprechend der von GoodFella vorgeschlagenen Methode, und dem was du aus dem anderen Thread schon kennst:
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
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
#!/usr/bin/perl

use strict;
use warnings;

use Data::Dumper;

my %set;

my @limits = (
"Schrauben;Error;200;500",
"Schrauben;Process;25;50",
"Schrauben;Waiting;100;150",
"Muttern;Error;10;30",
"Muffen;Waiting;400;800",
"Muffen;Process;5;10",
);

while (my $row = pop @limits) {
my @cols = split /;/, $row;
$set{$cols[0]}->{$cols[1]}->{'min'} = $cols[2];
$set{$cols[0]}->{$cols[1]}->{'max'} = $cols[3];
}

warn Dumper \%set;

while (<DATA>) {
chomp;
my @row = split;
$row[3] = 'green' if $row[2] < $set{$row[0]}->{$row[1]}->{'min'};
$row[3] = 'yellow' if $row[2] >= $set{$row[0]}->{$row[1]}->{'min'}
and $row[2] < $set{$row[0]}->{$row[1]}->{'max'};
$row[3] = 'red' if $row[2] > $set{$row[0]}->{$row[1]}->{'max'};
print join ' ', @row;
print "\n";
}

__DATA__
Schrauben Error 234
Schrauben Process 12
Schrauben Waiting 151
Muttern Error 45
Muffen Waiting 156
Muffen Process 23

View full thread Tabellen (Dateien) Auswerten: Anfang finden