Verschachteln von Array
Maik
- perl
Hi,
Ich hab mehrere Hosts. Jedem dieser Hosts möchte ich mehrere Schlüssel und Werte zuordnen, also zb.
%bkp1 = (
"savename"=>"test",
"hostname"=>"testhost",
);
%bkp2 = (
"savename"=>"test2",
"hostname"=>"testhost2",
);
Jetzt ist je ein Host in einem Hash. Jetzt möchte ich diese beiden Hashes aber noch in ein Array basteln. Gibts da ne Möglichkeit? Am Besten wäre es, wenn ich das in der Art wie
@array= array (
%bkp1 = (
"savename"=>"test",
"hostname"=>"testhost",
);
%bkp2 = (
"savename"=>"test2",
"hostname"=>"testhost2",
);
);
machen könnte. Wie realisiere ich sowas? Und wie greife ichd ann drauf zu?
Maik
Hallo Maik.
Jetzt möchte ich diese beiden Hashes aber noch in ein Array basteln. Gibts da ne Möglichkeit?
Jo, so könnte man es machen:
my $hostlist = {
'host1' => {
'savename' => 'test1',
'hostname' => 'testhost1',
},
'host2' => {
'savename' => 'test2',
'hostname' => 'testhost2',
}
};
Der Zugriff erfolgt dann über:
$hostlist->{$host}{$wert};
Weitere Möglichkeiten sind hier beschrieben:
http://www.perldoc.com/perl5.8.4/pod/perldsc.html
Freundschaft!
Siechfred
Ok, Danke! Und was mache ich jetzt, wenn ich in einer Schleife die Hostnamen aller Hosts ausgeben möchte?
Hallo Maik.
Ok, Danke! Und was mache ich jetzt, wenn ich in einer Schleife die Hostnamen aller Hosts ausgeben möchte?
Je nachdem, welche Struktur du gewählt hast, findest du in perldsc auch die Möglichkeiten des Zugriffs, den Link hatte ich dir ja schon gepostet.
Freundschaft!
Siechfred