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:
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++':
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/perlanvä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:
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.