Thread Assoziative Arrays...: Problem mit dem automatischen Erstellen (8 answers)
Opened by nikster77 at 2006-05-02 20:14

nikster77
 2006-05-02 20:14
#65520 #65520
User since
2006-02-08
26 Artikel
BenutzerIn
[default_avatar]
Hallo zusammen.

Ich habe ein Problem mit assoziativen Arrays, denen wuerde ich naemlich gerne automatisch pro Schluessel zwei Werte zuweisen...

Also folgendes, ich versuche ein Skript zu schreiben, das meine Softraid1 Arrays monitored und zwar nach Moeglichkeit so, das ich nicht auf feste Werte beschraenkt bin sondern das Programm sich alles "von selbst" aus den Configs liest:

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
#!/usr/bin/perl

$raidtab = "/etc/raidtab";

## /etc/raidtab oeffnen und devices in temporaeres Array schreiben
open(RAIDTAB, $raidtab) || die "Unable to read from /etc/raidtab : $!";
while(<RAIDTAB>)
{
foreach $device (split(/ |raiddev|device/,$_)) {
#print $device;
if ($device =~ m/\/dev\//ig) {
push (@raid_tab, "$device");
}
}
}
close (RAIDTAB);

##raiddevices(md0, etc.) in eigenes Array schreiben (das koennte man wahrscheinlich im ersten Block bereits handlen...)
foreach $raiddev (@raid_tab) {
if ($raiddev =~ m/md/ig) {
push (@raids, "$raiddev");
}
}


Ich habe also bis hierhin ein eigenes Array mit den md's...
Diesen wuerde ich nun gerne jeweils die zwei folgenden (aus dem ersten Array) Devices zuordnen (damit ich spaeter bei z.B.: panic - md1 gleich automatisch die entsprechenden Platten checken lassen kann)

Bei einem Hash-Array mit nur "Schluessel/Wert" waere das auch nicht so schwer, ich koennte das erste Array einfach dafuer nehmen und als Hasharray "deklarieren" aber mit zwei Schluesseln bin ich irgendwie ueberfordert (wenn ich es automatisch machen will..)

Zur Info eine Beispiel-Raidtab:

Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
raiddev /dev/md0
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
persistent-superblock 1
chunk-size 4
device /dev/hdc1
raid-disk 0
device /dev/hdd1
raid-disk 1

raiddev /dev/md1
raid-level 1
nr-raid-disks 2
nr-spare-disks 0
persistent-superblock 1
chunk-size 4
device /dev/hdc2
raid-disk 0
device /dev/hdd2
raid-disk 1


Es waere schoen wenn da jemand einen Rat fuer mich haette.

Gruesse

Niels

View full thread Assoziative Arrays...: Problem mit dem automatischen Erstellen