Calocybe: Elementanzahl in ArraysOfArrays abfragen

Beitrag lesen

Hallo Ottmar

@listref = (
     [ "fred", "barney", "pebbles", "bambam", "dino", ],
     [ "homer", "bart", "marge", "maggie", ],
     [ "george", "jane", "elroy", "judy", ],
     );

Ich kenn mich da zwar nicht so aus, aber imho ist das ueberhaupt kein mehrdimensionales Array. Eine Zuweisung wie

@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).

Wie man nun ein echtes mehrdimensionales Array in Perl anlegt, erklaert Dir besser jemand anderes. Es ist zwar nicht weiter schwer, aber ich habe trotzdem schon wieder vergessen, wie das geht. *g*

Calocybe