Beate Mielke: Aufruf von Elementen in einem Array

Beitrag lesen

Hallo Roland

Der Unterschied zwischen $arrayname[0] und @arrayname[0] ist, dass ersteres einen normalen skalaren Wert darstellt, das zweite jedoch eine Liste mit einem einzigen Element (naemlich eben dem Skalar). Da der zweite Anwendungsfall aber in Praxis fast nie vorkommt, wird man durch -w vor einem eventuellen Syntaxfehler gewarnt.

Fragt sich nur, WANN dieser  Praxisfall mal eintritt, schon merkwuerdig.

Uebrigens kennst Du einen aehnlichen Ausdruck wie diesen

@test1 = @{$arrayname[0]};
um aus einem zweidimensionalen Array eine Spalte auszugeben? Ich meine ohne Schleife, als einfachen Ausdruck wie hier bei der Zeilenausgabe.

@test4 = ($$arrayname[0][$s], $$arrayname[1][$s], $$arrayname[2][$s], $$arrayname[4][$s]);

Ich glaube, hier muessen die zwei $$ durch ein $ ersetzt werden.

for (@arrayname) { push(@test4, $_->[$s] }      # oder:
    for (@arrayname) { push(@test4, ${$_}[$s] }

Das funktioniert leider nicht, gibt schon Fehlermeldungen beim Compilieren.

Mehr weiss ich auch nicht.

Macht nichts, ich glaube, es gibt tatsaechlich nur die Schleife als Loesung. Ich habe gerade auch noch eine Menge Kombinationen ausprobiert.

Viele Gruesse

Beate