Thread array-hash-Struktur zusammenbasteln (8 answers)
Opened by bieber at 2009-07-23 10:44

bieber
 2009-07-23 10:44
#123484 #123484
User since
2007-06-18
148 Artikel
BenutzerIn
[default_avatar]
Hallo perl-community,

ich hänge (mal wieder) bei den Zusammenbau einer Struktur (für die spätere Übergabe an HTML::Template, was hier aber keine Rolle spielt).
so soll es aussehen:
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
my $data = [
{
SERVER => $ergf[1],
DATENBANKLISTE => [
{
DATENBANK => $ergf[0]
},

]
}
{
SERVER => $ergf[1],
DATENBANKLISTE => [
{
DATENBANK => $ergf[0]
},
{
DATENBANK => $ergf[0]
}
]
}
];
#möglicher zusammenbau:
my $ref1={'SERVER'=>$ergf[1], 'DATENBANKLISTE'=>[{'DATENBANK'=>$ergf[0]}]};
my $ref2={'SERVER'=>$ergf[1], 'DATENBANKLISTE'=>[{'DATENBANK'=>$ergf[0]},{'DATENBANK'=>$ergf[0]}]};

my $data=[$ref1,$ref2];

Bisher habe ich das alles von Hand eingetragen, da leider immer mehr und mehr Daten auftreten will ich es dynamisch regeln. Die Daten kommen aus einem DB-Query und liefern immer ein Zeile für "Servername,Datenbank".
z.B.:
1. "server1","test1"
2. "server2","test2"
3. "server1","test3"

Auf einem Server können also mehrere Datenbanken sein, und das muss ich in die obige Struktur abbilden (ich hoffe ihr könnt es nachvollziehen?!).

mein bisheriger Ansatz:
Code (perl): (dl )
1
2
3
4
5
6
7
8
9
my @superArray;
        #hostnamen in array speichern
        while (my @ergf = $abfr1->fetchrow_array){
          if(grep $_ eq $ergf[1], @superArray){
            #tue nichts, weil bereits im array
          }else{
            push(@superArray, $ergf[1]);
          }
        }

und jetzt geht mein Problem schon los, ich muss jetzt die Datenbanken den Hostnamen zuordnen, wie kann ich das denn hinbekommen? Ich muss halt auch irgendwie wieder auf die Struktur oben kommen.

Ich muss ehrlich zugeben, dass dies meine Programmierfähigkeiten echt übersteigt. Wäre für jede Hilfe dankbar.
Last edited: 2009-07-23 11:02:45 +0200 (CEST)
Es gibt immer Leute die meinen, sie seien schlauer als ich. Das Schlimmste ist, sie sind es auch.

View full thread array-hash-Struktur zusammenbasteln