Eine Referenz ist ein Zeiger. Eine Perl-Referenz ist ein Skalartyp, der auf eine Variable, ein Array, eine Hash-Tabelle (auch assoziatives Array genannt) oder sogar eine Unterroutine verweisen und an einer beliebigen Stelle im Programm angewendet werden kann.
Fügen Sie beim Definieren einer Variablen vor dem Variablennamen hinzu, um einen Verweis auf die Variable zu erhalten, zum Beispiel:
$scalarref = $foo; # Skalare Variablenreferenz $arrayref = @ARGV; # Hashreferenz $globref = *foo ; Referenz
Wir können anonyme Array-Referenzen in Arrays verwenden, indem wir die Definition [] verwenden:
$aref= [ 1,"foo",undef,13 ];
Die Elemente eines anonymen Arrays können immer noch ein anonymes Array sein, sodass wir diese Methode verwenden können, um ein Array von Arrays zu erstellen, und wir können ein Array jeder Dimension erstellen.
mein $aref = [ [1, 2, 3], [4, 5, 6], [7, 8, 9],]
In Hashes können wir anonyme Hash-Referenzen verwenden, definiert mit {}:
$href= { APR =>4, AUG =>8 };
Wir können auch eine anonyme Unterprogrammreferenz ohne Unterprogrammnamen erstellen:
$coderef = sub { print "Codercto!n" };
Die Dereferenzierung kann je nach Typ mit $, @ oder % abgebrochen werden. Beispiele sind wie folgt:
Das Ergebnis der Ausführung des obigen Beispiels ist:
10 ist: 101 2 3 ist: 123%var ist: key110key220
Wenn Sie sich über den Variablentyp nicht sicher sind, können Sie ihn mithilfe von ref ermitteln. Die Liste der Rückgabewerte lautet wie folgt: Wenn kein folgender Wert vorhanden ist, wird „false“ zurückgegeben.
SCALARARRAYHASHCODEGLOBREF
Beispiele sind wie folgt:
Das Ergebnis der Ausführung des obigen Beispiels ist:
Referenztyp von r: SCALAR Referenztyp von r: ARRAYr Referenztyp: HASH
Ein Zirkelverweis liegt vor, wenn zwei Verweise einander enthalten. Sie müssen es vorsichtig verwenden, da es sonst zu Speicherverlusten kommt, wie im folgenden Beispiel:
Das Ergebnis der Ausführung des obigen Beispiels ist:
Der Wert von foo ist: REF(0x9aae38)
Funktionsreferenzformat: &
Das Format zum Aufrufen der Referenzfunktion: & + der erstellte Referenzname.
Beispiele sind wie folgt:
Das Ergebnis der Ausführung des obigen Beispiels ist:
Element: Alter Element: 3 Element: Name Element: Codercto