[quote=Guest,08.08.2005, 11:07]Ich ab ein indizierte Array...[/quote]
Du redest von Hashes als "indizierten Arrays"?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
my ( @buffer, %source, %dest )
$source{key1} = "value1";
$source{key2} = "value2";
push (@buffer, \%source); # beachte den "\"
$source{key1} = "value3";
$source{key2} = "value4";
push (@buffer, \%source); # beachte den "\"
#(...)
%source = %{ pop(@buffer) }; # und hier das %{ }
print $source{key1};
Perl handhabt Arrays [@...] und Hashes [%...] als Listen [ (...) ], wenn man sie direkt übergibt, und so entstanden in Deinem Array eine Folge der Keys und Values aus dem Hash - jedoch kein Hash mehr.
Durch den Backslash "\" wurde der vollständige Hash nun per Referenz in den Array eingetragen.
Um daraus wieder einen Hash zu erhalten empfiehlt sich die Schreibweise mit dem %{ ... } drumherum.\n\n
<!--EDIT|Relais|1123494753-->