Christian Kruse: @Daten[$i] oder $Daten[$i]

Beitrag lesen

Hoi,

@Daten[$i] ist nämlich nicht gleich $Daten[$i].

$Daten[$i] = Skalar
@Daten[$i] = Array (1)

(1) Der anonyme Array, der im zweiten Element von @Daten steckt,
wird mit @ dereferenziert.

@Daten[$i] ist also gleich @{$Daten[$i]}.

Das ist so nicht richtig.
@Daten[$i] ist ein Array-Splice, es wird ein Array erstellt, in dem
genau ein (skalarer?) Wert steckt. Das ganze kann man auch noch ins
Exzess treiben:

my @part_of_a_list = @list[10..15];

Hier ist '@part_of_a_list' eine Teilmenge von @list: es enthaelt die
Elemente 10 bis 15. Es ist also (fast) dasselbe wie

@part_of_a_list = splice @list, 10, 15;

mit dem ganz entscheidenden Unterschied, dass splice() Elemente
aus der Liste '@list' enfernt, der []-Operator allerdings nicht.

Gruesse,
 CK