Thread Arrays (11 answers)
Opened by Gast at 2005-08-08 13:07

Relais
 2005-08-08 14:11
#57025 #57025
User since
2003-08-06
2244 Artikel
ModeratorIn
[Homepage] [default_avatar]
[quote=Ronnie,08.08.2005, 11:57]@Relais: Das gibt aber auch kaum Sinn, da die Keys doppelt verwendet werden und zweimal der selbe Hash referenziert wird[/quote]
Stimmt auffällig. Dann also derart:

Code: (dl )
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 die { ... }

$source{key1} = "value3";
$source{key2} = "value4";

push (@buffer, { %source } ); # beachte die { ... }

#(...)

%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 die Schleifenklammern { ... } 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..
Erst denken, dann posten --
26. Deutscher Perl- u. Raku -Workshop 15. bis 17.04.2024 in Frankfurt/M.

Winter is Coming

View full thread Arrays