Martin: Elementanzahl in ArraysOfArrays abfragen

Beitrag lesen

@manylists = (@list0, @list1, @list2);

ergibt keineswegs ein dreielementiges Array, wobei jedes Element wiederum ein Array ist, sondern dabei kommt ein grosses eindimensionales Array heraus, das alle Elemente der drei Listen in dieser Reihenfolge hintereinander aufgereiht enthaelt. Die vorherigen Grenzen dieser Einzel-Arrays lassen sich hinterher nicht mehr feststellen. Du kannst das ganz einfach ueberpruefen, indem Du Dir mal mit scalar(@listref) die Anzahl der Elemente ausgeben laesst, da sollte 13 rauskommen (oder vielleicht auch 17, da Du am Ende der Listen immer noch ein Komma hast - weiss nicht, ob das als weiteres leeres Element interpretiert wird).

Diese Zuweisung (@manylist) ergibt tatsächlich ein mehrdimensionales Array. Es kann ganz einfach mit $manylists[i][j] auf die einzelnen Elemente zugegriffen werden. Die Anzahl der Elemente in diesem Array ist scalar(@manylist) = $#{@manylist}+1 = 3 !!

Das Komma am Ende der Listen macht überaschenderweise keinen Unterschied...warum auch immer...?

Martin