$gena = ['cggca', 'tgatc', 'aaggc']; #Modalități de a dereferi conținutul unui array print "Adresa referintei este: $gena \n"; print "Referinta pointeaza catre urmatorul continut: @{$gena} \n"; print "Referinta pointeaza catre urmatorul continut: @$gena \n"; print "Referinta pointeaza catre urmatorul continut: ${$gena}[1] \n"; print "Referinta pointeaza catre urmatorul continut: $$gena[1] \n"; print "Referinta pointeaza catre urmatorul continut: $gena->[1] \n"; print "Referinta pointeaza catre urmatorul continut: $gena->[2] \n\n"; print "ATENTIE!\n"; print "Crearea unui array anonim dintr-unul deja existent.\n"; print "Daca s-a initializat deja o variabila array,\n"; print "cat timp functioneaza programul, adresa acesteia este neschimbata.\n"; print 'Drept exemplu, s-a creat o variabila @array cu urmatorul continut:',"\n"; @array = (address1, address2, address3, address4); print "@array\n\n"; for ($i=0;$i<3;$i++) { $address = \@array; #se capturează adresa la care este stocat array-ul print "\t$address\n"; } print "\nAdresa este mereu aceeasi!\n\n"; print "Urmatoarea abordare este diferita\n\n"; for ($i=0;$i<3;$i++) { $address = [@array]; #se crează un nou array anonim print "\t$address\n";#a cărui adresă este capturată în variabila $address } print "\nAdresa este diferita de fiecare data!\n\n"; # 2 NIVELURI DE DEREFERIRE # print "@continut"; variabila @array ce conține adresele altor array-uri. # print "$continut[1]"; la indexul 1 este identificată o adresă. # print "@{$continut[1]}"; întreg conținutul array-ului identificat la adresa de la indexul 1. # print "@{$continut[1]}[5]"; componenta 5 a array-ului identificat la adresa de la indexl 1. # 3 NIVELURI DE DEREFERIRE # print "@genom\n"; #nivel.0.toate.adresele # print "$genom[0]\n"; #nivel.0.adresa.index.0 # print "@{$genom[1]}\n"; #nivel.1.toate.adresele.index.1 # print "${$genom[1]}[0]\n"; #nivel.1.adresa.index.0->index.1 # print "@{$genom[1]->[0]}\n"; #nivel.2.toate.adresele.index.0->index.1 # print "${$genom[1]->[0]}[0]"; #nivel.2.valoarea.index.0->index.0->index.1