Die Schreibweise \@
gibt einen Verweis (oder Zeiger) auf das angegebene Array zurück, also:
macht $arrayref
zu einem Verweis auf @array
- ähnlich wie bei der Verwendung der *p
Zeiger-Notation in C.
Es bedeutet, dass es ein Verweis auf ein Array ist.
Siehe die perl-Dokumentation , die es gut erklärt
Array-Referenzen sind in erster Linie nützlich als Parameter für Unterprogramme. Ohne Referenzen ist das Übergeben des Arrays @a
(mit den Elementen 1, 2, 3) ziemlich genau dasselbe wie das separate Übergeben von 1, 2 und 3 an das Sub. Mit \@array
kann die Untereinheit das gesamte Array sehen, z. Bestimmen Sie die Länge explizit, manipulieren Sie sie so, dass der Aufrufer die Änderungen usw. sehen kann. Der Preis dafür ist, dass das Subsystem beim Zugriff auf die Array-Elemente eine kompliziertere Syntax verwenden muss: $$a[0]
anstelle von $a[0]
.