Tömbökre mutató hivatkozások feloldása - hogyan?

Sziasztok,

van egy ilyen feladat, hogy
"Készítsünk alprogramot, amely tömbökre mutató hivatkozásokat fogad tetszőleges számban, megfordítja a tömbök tartalmát, majd ugyanolyan sorrendben adja vissza azokat, amilyenben kapta. Ellenőrizzük, hogy a hivatkozások valóban tömbre mutatnak-e?"

A megoldás az "alprogram" nevű alprogram

A kérdés pedig annyi, hogy az alprogram által visszaadott @_-ból hogyan nyerhetem vissza a benne lévő elemek valamelyikét?
$ref->[0][1] próbálkoztam, de sikertelenül (Not an ARRAY reference)
Azért van az a sok print a kiir-ben, hogy nagyjából lássam merre járok, de nagyon eltévedtem :)

Minden segítő szándékú hozzászólást előre köszönök!

Hozzászólások

Szögletes zárójellel nem tömbváltozót, hanem tömbre mutató referenciát definiálsz.

Vagyis itt a változó és az érték ellentmond egymásnak:

@tomb=[
['a',...]...
];

Ezt az ellentmondást úgy oldja fel a perl, hogy megtartja a listaváltozót és azt feltételezi, hogy az annak adott érték egy lista nulladik eleme, vagyis fejben erre egészíti ki a kódot:


@tomb=([
['a',...]...
]);

Vagy úgy hangszereled át, hogy mindenhol tömbreferencia legyen, vagy a tömbváltozónak tömbértéket adsz:


@tomb=(
['a',...]...
);

Szerencsém volt, mert ezzel kezdődik a kódod: ezt első blikkre kiszúrtam, de azt nem felételezhettem, hogy ez nem szándékos*, és az általam át nem nézett kódban nincs-e kikorrigálva, ezért inkább volt sejtés, hogy itt a hiba, mint biztos állítás.

*UI. akár szándékos is lehetett volna, hiszen a perl az a nyelv, amit azért szokás utálni, mert annyi mindent szabad benne, mintha nem is volnának szabályok.
Nos, vannak, csak Larry Wall nem tudta legyűrni magában a nyelvészt, aki úgy van vele, hogy minden helyes, ami egyértelmű, és ami nem egyértelmű, azt is lehet valahogy értelmezni.

Ragaszkodni kell ahhoz, hogy
@v = () : lista/tömb,
$v = [] : list-/tömbref,
%v = () : hash,
$v = {} : hashref
nem élni a számtalan implicit lehetőséggel, és határozottan tudni, hogy melyik mi: úgy lehet egy perl kód is könnyen írható és olvasható is.

Nálam is volt ilyen elgondolás, de mivel ilyen (egyébként szerintem ésszerű) egyszerűsítés nincs sem a beépített, sem a CPAN libekben, inkább nem kárhoztattam magam arra, hogy szaporítsam paraméterezéskor ill. visszatérési érték tárolásakor az egyébként sem kisszámú refelést/feloldást.