Thread Syntax-Problem mit Hash (6 answers)
Opened by tschloss at 2008-11-27 16:42

Gast Gast
 2008-11-27 20:20
#116668 #116668
Sowas:
Code (perl): (dl )
('A', 1, 'B', 2, 'C', 3, 'D', 4)
ist eine Liste.
Genauso das:
Code (perl): (dl )
('A' => 1, 'B' => 2, 'C' => 3, 'D' => 4)

Wie die Liste Später interpretiert wird hängt davon ab, wohin sie übergeben wird.
In einer Liste können die Trenner "... => ... ," oder "... , ... ," sein.
Wenn man sie an ein Array übergibt:
Code (perl): (dl )
1
2
@array=('A', 1, 'B', 2, 'C', 3, 'D', 4);
@array=('A' => 1, 'B' => 2, 'C' => 3, 'D' => 4);

wird aus der Liste erst ein Array.
Gleiches gilt für einen Hash:
Code (perl): (dl )
1
2
%hash=('A', 1, 'B', 2, 'C', 3, 'D', 4);
%hash=('A' => 1, 'B' => 2, 'C' => 3, 'D' => 4);

Wenn du eine Liste an eine Funktion übergibst wird sie in "@_" gepackt also zu einem Array.

View full thread Syntax-Problem mit Hash