Struppi: Spalten sortieren

Beitrag lesen

schade, der Thread wandert bald ins Archiv, aber ich werde mich durch die 2. Beschreibung von euch (Siechfred, Struppi) nochmal durchbeissen. Das mit den zwei dimensionalen Arrays habe ich kapiert, der Rest kommt noch :-)

In Perl gibt es nicht wirklich 2 dimensonale Arrays, sondern du benutzt Arrays mit Referenzen auf Arrays (LoL).

my @a;
my @b = (1,2,3);
mmy @c = (3,4,5);

wenn du jetzt @a als erstes Element und @b als zweitest haben wolltest kannst du nicht:
push @a, @b;
push @a, @c;

machen:

print "$a[0]\n$a[1]";

du erhälst einfach:
1
2

die ersten beiden Elemente von @b

@a ist jetzt: 1 2 3 4 5

du musst Referenzen auf die arrays benutzen:

push @a, @b;
push @a, @c;

print "$a[0]\n$a[1]";
ARRAY(.....)
ARRAY(.....)

und kannst jetzt auf die Index von @b und @c zugreifen:

print $a[0]->[2];
3

um auf die Arrays zugreifen zu können musst du diese zurückwandeln:

foreach( @{ $a[0] } )
{
geht alle Elemente von @a durch
}
foreach( @{ $a[1] } )
{
geht alle Elemente von @b durch
}

Weitere Details findest du in den Docs.

Struppi.