Perl-Array-Referenz

Perl Array Referenz



Wenn die Referenzvariable für eine beliebige Variable erstellt wird und der Wert der Hauptvariablen geändert wird, wird gleichzeitig der Wert der Referenzvariablen geändert. Denn sowohl die „Haupt“-Variable als auch die „Referenz“-Variable teilen sich den gleichen Speicherort. Die Referenzvariable sowohl der Skalarvariablen als auch der Vektorvariablen kann in Perl definiert werden. Das Array ist eine Art von Vektorvariablen in Perl. In diesem Tutorial werden die Methoden zum Erstellen und Verwenden der Referenzvariablen des Perl-Arrays gezeigt.

Verschiedene Verwendungen der Array-Referenz

Die Verwendungsmöglichkeiten der Array-Referenzvariablen für unterschiedliche Zwecke werden im Folgenden dargestellt:

Array-Variable Array-Referenzvariable Zweck
@array @{ $ref_array } Es wird verwendet, um auf alle Array-Werte zu verweisen.
Skalar @array Skalar @ref_array Es wird verwendet, um die Gesamtzahl der Arrays zu zählen.
$#array $#ref_array Es wird verwendet, um den größten Index zu definieren.
$array[index] $tef_array->[index] Es wird verwendet, um auf das bestimmte Element des Arrays zu verweisen.

Verwendung der Perl-Array-Referenzen

In diesem Teil des Tutorials werden verschiedene Verwendungsmöglichkeiten der Perl-Array-Referenzvariablen gezeigt.







Beispiel 1: Erstellen Sie eine Array-Referenz

Erstellen Sie eine Perl-Datei mit dem folgenden Skript, das ein Array aus vier String-Werten und die Referenzvariable dieses Arrays deklariert. Die Referenzvariable speichert den Speicherort des Hauptarrays und beide Variablen teilen sich denselben Speicherort. Der Inhalt der Referenzvariablen und des Hauptarrays wird später gedruckt.



#!/usr/bin/perl

verwenden Sie streng ;
verwenden Warnungen ;
Verwenden Sie 5.34.0 ;
Verwenden Sie Data::Dumper ;

#Deklarieren Sie ein String-Array
Mein @ Nachzügler = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;

#Erstellen Sie eine Referenz der Array-Variablen
mein $ref_array = \ @ Nachzügler ;

sagen „Der Inhalt der Array-Referenz ist $ref_array“ ;

sagen „Array-Werte, die die Dumber-Variable verwenden, sind:“ ;
#Drucken Sie die Referenzvariable mit der Dumper-Variablen
drucken Dumper $ref_array ;

Ausgabe:



Beim Ausführen des Skripts erscheint die folgende Ausgabe:





  p1

Beispiel 2: Aktualisieren Sie das Array nach dem Erstellen der Referenz

Erstellen Sie eine Perl-Datei mit dem folgenden Skript, das zeigt, dass bei Änderung eines Elements des Hauptarrays gleichzeitig der entsprechende Wert der Referenzarray-Variablen geändert wird. Alle Werte des Hauptarrays werden gedruckt, bevor ein Wert des Arrays aktualisiert wird, und alle Werte des Referenzarrays werden gedruckt, nachdem das zweite Element mithilfe der Variable „dump“ aktualisiert wird.



#!/usr/bin/perl

verwenden Sie streng ;
verwenden Warnungen ;
Verwenden Sie 5.34.0 ;
Verwenden Sie Data::Dumper ;

#Deklarieren Sie ein String-Array
Mein @ Nachzügler = ( 'Perl' , 'Java' , 'Bash' , 'Python' ) ;

sagen „Hauptarraywerte sind:“ ;
#Drucken Sie die Referenzvariable mit der Dumper-Variablen
drucken Kipper \ @ Nachzügler ;

#Erstellen Sie eine Referenz der Array-Variablen
mein $ref_array = \ @ Nachzügler ;

#Aktualisieren Sie das 2. Element des Arrays
$strarr [ 1 ] = 'C++' ;

sagen „Referenz-Array-Werte (nach Aktualisierung des Haupt-Arrays) sind:“ ;
#Drucken Sie die Referenzvariable mit der Dumper-Variablen
drucken Dumper $ref_array ;

Ausgabe:

Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Der Ausgabe zufolge wird das zweite Element im Referenzarray in „C++“ geändert, da das zweite Element des Hauptarrays durch den „C++“-Wert aktualisiert wird:

  p2

Beispiel 3: Übergeben Sie die Array-Referenz an eine Unterroutine

Erstellen Sie mit dem folgenden Skript eine Perl-Datei, in der die Referenzvariable des Arrays als Argument der Subroutine gesendet wird. Der Wert des dritten Index des Arrays wird mithilfe der Referenzvariablen innerhalb der Unterroutine aktualisiert. Die Werte des Hauptarrays werden vor und nach der Aktualisierung des dritten Index der Referenzvariablen mithilfe der Variable „dump“ gedruckt.

#!/usr/bin/perl

verwenden Sie streng ;
verwenden Warnungen ;
Verwenden Sie 5.34.0 ;
Verwenden Sie Data::Dumper ;

#Deklarieren Sie ein Array von Zahlen
Mein @ Zahlen = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

sagen „Die Werte des Hauptarrays vor dem Update:“ ;
drucken Kipper \ @ Zahlen ;

#Übergeben Sie das Array als Referenz an die Unterroutine
read_array ( \ @ Zahlen ) ;
#Declare-Unterroutine zum Ändern des Array-Werts
sub read_array
{
#Definieren Sie die Array-Referenzvariable
mein $arr_ref = $_ [ 0 ] ;
#Aktualisieren Sie das dritte Element des Arrays
$arr_ref- > [ 2 ] = 99 ;
}
sagen „Die Werte des Hauptarrays nach dem Update:“ ;
drucken Kipper \ @ Zahlen ;

Ausgabe:

Nach der Ausführung des Skripts erscheint die folgende Ausgabe. Das dritte Element des Arrays war 90 und dieser Wert wird mithilfe der Referenzvariablen des Arrays in 99 geändert. Das dritte Element des ursprünglichen Arrays wird ebenfalls um 99 aktualisiert, da beide Variablen denselben Speicherort haben:

  p3

Abschluss

In diesem Tutorial werden die Methoden zum Zugreifen auf oder Aktualisieren der Array-Werte durch Erstellen der Referenzvariablen des Arrays gezeigt. Perl-Benutzer erhalten nach der Lektüre dieses Tutorials ein klares Konzept für die Verwendung der Referenzvariablen des Perl-Arrays.