Martin: Elementanzahl in ArraysOfArrays abfragen

Beitrag lesen

Hi!

Hab mal ein bisschen rumprobiert und gelesen...

@manylists = (@list0, @list1, @list2);
Diese Zuweisung (@manylist) ergibt tatsächlich ein mehrdimensionales Array.

Jein. Das was Ottmar gemacht hat ja, das was ich gemacht habe nein. Der Unterschied liegt in der Art der Klammerung. Ottmar hatte seine Sublisten in eckige Klammern [] gefasst. Mit meine @list0 usw. habe ich jedoch runde Klammern vorausgesetzt. Die runden Klammern ergeben eine normale Liste:
    @list0 = ("fred", "barney", "pebbles", "bambam", "dino");
Doch die eckigen Klammern legen eine anonyme Liste an und erzeugen dann eine Referenz (Pointer) darauf:
    $listref = ["fred", "barney", "pebbles", "bambam", "dino"];

Damit hast Du natürlich vollkommen recht. Ich hatte Deine Listen @list0 als Referenzen aufgefasst, wie im Beispiel von Ottmar. Du hast sie aber korrekt als Arrays (@) und nicht als refs deklariert.

Die Zuweisung

@list = ["fred", "barney",...];

würde ja eine Liste von Referenzen auf Listen erzeugen! In diesem Fall eben nur mit einem Element.

Was so eine Klammer alles ausmachen kann...

Martin