Ein
AoA oder Array of Array ist eine verschachtelte Datenstruktur, nämlich ein Array, welches weitere Array(referenzen) enthält.
Definition eines AoA
@AoA = ( [ 'Betterworld', 'Crian', 'ds' ],
[ 17, 42 ],
[ 2.5, undef, 'Margarine' ]
);
Zugriff auf einen Wert des AoA
print $AoA[2][2]; # gibt Margarine aus
Definition einer Referenz auf ein AoA
$refAoA = [ [ 'Betterworld', 'Crian', 'ds' ],
[ 17, 42 ],
[ 2.5, undef, 'Margarine' ]
];
Zugriff auf einen Wert des AoA über eine Referenz
print $refAoA->[1][1]; # gibt 42 aus
AoA wachsen lassen
while (<>) {
push @AoA, [ split ];
}
bzw.
while (<>) {
push @$refAoA, [ split ];
}
Zugriff auf Elemente eines "rechteckigen" zweidimensionalen AoA's
for my $x (0..5) {
for my $y (0..3) {
$AoA[$x][$y] = $x**2 + $y;
Je nachdem wie man sein Array aufbaut und (konsequent) verwendet, könnte man
aber auch so darauf zugreifen:
for my $row (0..3) {
for my $col (0..5) {
$AoA[$row][$col] = funktion($row, $col);
Zugriff über Referenz erfolgt wieder durch Einfügen des Pfeils '->' zwischen
die Referenz und die erste Klammer.
Mehr zu Datenstrukturen findet man im Kamelbuch.
--
ChristianDuehl - 04 Aug 2004, 09 Aug 2004