Perl Array Referens

Perl Array Referens



När referensvariabeln skapas för någon variabel, och om värdet på huvudvariabeln ändras, ändras värdet på referensvariabeln samtidigt. Eftersom både 'huvudvariabeln' och 'referensvariabeln' delar samma plats i minnet. Referensvariabeln för både den skalära variabeln och vektorvariabeln kan definieras i Perl. Arrayen är en typ av vektorvariabel i Perl. Metoderna för att skapa och använda referensvariabeln för Perl-arrayen visas i den här handledningen.

Olika användningar av Array Reference

Användningen av arrayreferensvariablerna för olika ändamål visas i följande:

Arrayvariabel Matrisreferensvariabel Syfte
@array @{ $ref_array } Den används för att referera till alla matrisvärden.
skalär @array skalär @ref_array Den används för att räkna det totala antalet arrayer.
$#array $#ref_array Det används för att definiera det största indexet.
$array[index] $tef_array->[index] Det används för att referera till det särskilda elementet i arrayen.

Användning av Perl Array References

Olika användningar av Perl-arrayens referensvariabler visas i den här delen av handledningen.







Exempel 1: Skapa en matrisreferens

Skapa en Perl-fil med följande skript som deklarerar en array med fyra strängvärden och referensvariabeln för denna array. Referensvariabeln lagrar minnesplatsen för huvudmatrisen och båda variablerna delar samma plats. Innehållet i referensvariabeln och huvudmatrisen skrivs ut senare.



#!/usr/bin/perl

använd strikt ;
använda sig av varningar ;
använd 5.34.0 ;
använd Data::Dumper ;

#Deklarera en array av strängar
min @ eftersläpande = ( 'Perl' , 'Java' , 'Våldsamt slag' , 'Pytonorm' ) ;

#Skapa en referens för arrayvariabeln
min $ref_array = \ @ eftersläpande ;

säga 'Innehållet i arrayreferensen är $ref_array' ;

säga 'Arrayvärden som använder Dumber-variabeln är:' ;
#Skriv ut referensvariabeln med variabeln Dumper
skriva ut Dumper $ref_array ;

Produktion:



Följande utdata visas när skriptet körs:





  p1

Exempel 2: Uppdatera arrayen efter att du har skapat referensen

Skapa en Perl-fil med följande skript som visar att om något element i huvudmatrisen ändras, ändras motsvarande värde för referensmatrisvariabeln samtidigt. Alla värden i huvudmatrisen skrivs ut före uppdatering av något värde på matrisen och alla värden på referensmatrisen skrivs ut efter uppdatering av det andra elementet med hjälp av variabeln 'dump'.



#!/usr/bin/perl

använd strikt ;
använda sig av varningar ;
använd 5.34.0 ;
använd Data::Dumper ;

#Deklarera en array av strängar
min @ eftersläpande = ( 'Perl' , 'Java' , 'Våldsamt slag' , 'Pytonorm' ) ;

säga 'Huvudmatrisvärden är:' ;
#Skriv ut referensvariabeln med variabeln Dumper
skriva ut Dumper \ @ eftersläpande ;

#Skapa en referens för arrayvariabeln
min $ref_array = \ @ eftersläpande ;

#Uppdatera det andra elementet i arrayen
$strarr [ 1 ] = 'C++' ;

säga 'Referensarrayvärden (efter uppdatering av huvudmatrisen) är: ' ;
#Skriv ut referensvariabeln med variabeln Dumper
skriva ut Dumper $ref_array ;

Produktion:

Följande utdata visas efter exekvering av skriptet. Enligt utgången ändras det andra elementet till 'C++' i referensmatrisen eftersom det andra elementet i huvudmatrisen uppdateras med värdet 'C++':

  p2

Exempel 3: Skicka arrayreferensen till en subrutin

Skapa en Perl-fil med följande skript där referensvariabeln för arrayen skickas som argumentet för subrutinen. Värdet på det tredje indexet i arrayen uppdateras med hjälp av referensvariabeln inuti subrutinen. Värdena för huvudmatrisen skrivs ut före och efter uppdatering av referensvariabelns tredje index med hjälp av variabeln 'dump'.

#!/usr/bin/perl

använd strikt ;
använda sig av varningar ;
använd 5.34.0 ;
använd Data::Dumper ;

#Deklarera en uppsättning siffror
min @ tal = ( 67 , 3. 4 , 90 , 12 , 39 ) ;

säga 'Värdena för huvudmatrisen före uppdatering:' ;
skriva ut Dumper \ @ tal ;

# Skicka arrayen som en referens till subrutinen
read_array ( \ @ tal ) ;
#Deklarera subrutin för att ändra arrayvärdet
sub read_array
{
#Definiera arrayreferensvariabeln
min $arr_ref = $_ [ 0 ] ;
#Uppdatera det tredje elementet i arrayen
$arr_ref- > [ 2 ] = 99 ;
}
säga 'Värdena för huvudmatrisen efter uppdatering:' ;
skriva ut Dumper \ @ tal ;

Produktion:

Följande utdata visas efter exekvering av skriptet. Det tredje elementet i arrayen var 90 och detta värde ändras till 99 med hjälp av arrayens referensvariabel. Det tredje elementet i den ursprungliga arrayen uppdateras också med 99 eftersom båda variablerna delar samma plats:

  p3

Slutsats

Metoderna för att komma åt eller uppdatera arrayvärdena genom att skapa referensvariabeln för arrayen visas i denna handledning. Perl-användare kommer att få ett tydligt koncept för att använda referensvariablerna för Perl-arrayen efter att ha läst den här handledningen.