Was bedeutet \ @array in Perl?

8

Ich habe einen Perl-Code, bei dem ich festgestellt habe, dass ein Array mit einem führenden Backslash wie \@array

verwendet wird

Kann jemand erklären, was es bedeutet?

    
shift66 25.10.2011, 07:01
quelle

3 Antworten

15

Die Schreibweise \@ gibt einen Verweis (oder Zeiger) auf das angegebene Array zurück, also:

%Vor%

macht $arrayref zu einem Verweis auf @array - ähnlich wie bei der Verwendung der *p Zeiger-Notation in C.

    
planetguru 25.10.2011, 07:07
quelle
17

Es bedeutet, dass es ein Verweis auf ein Array ist.

Siehe die perl-Dokumentation , die es gut erklärt

    
ccheneson 25.10.2011 07:06
quelle
-4

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] .

    
Kilian Foth 25.10.2011 07:15
quelle

Tags und Links