Me-reference dan dereference variabel array

Untuk membuat reference ke variabel array sama caranya dengan membuat reference variabel scalar yaitu dengan menambahkan tanda "\" (back slash) di depan variabel array yang akan di reference.

 use strict;

my @a=("Hendrix","Purple","Metallica","Korn"); #array
my $ref = \@a; #$ref adalah reference ke array @a

print @{$ref},"\n"; #dereference
print @$ref,"\n"; #cara lain

print @{$ref}[2], "\n";
#cara I untuk meng akses elemen-elemen dari array tersebut
print @$ref[2],"\n";
#cara II untuk meng akses elemen-elemen dari array tersebut
print @$ref->[2],"\n";
#cara III untuk meng akses elemen-elemen dari array tersebut
print @{$ref}->[2],"\n";
#cara IV untuk meng akses elemen-elemen dari array tersebut

Tanda panah bisa dipakai HANYA untuk mengakses elemen dari array atau hash alias tidak bisa dipakai untuk mengakses dari seluruh nilai yang tersimpan dalam array/hash tersebut.

Jika ingin dicopy ke variabel lain

 my $var_lain = $ref;

print @{$var_lain},"\n";
print @$var_lain->[1],"\n"; #atau
print $var_lain->[1],"\n";
Untuk menambahkan elemen ke array lewat reference
 push(@$var_lain,"Megadeth");
print @$var_lain,"\n";
print @$var_lain->[4],"\n";
print @$var_lain,"\n";
barusan kita memasukan elemen tambahan ke @$var_lain, apakah yang aslinya ikut berubah ?
 print "nilai \@\$ref sekarang :",@$ref,"\n";
untuk mengetahui jumlah index terakhir dari array
 my $terakhir = $#$var_lain;
print "index terakhir dari \@\$var_lain adalah", $terakhir, "\n";
print "yang mempunyai value :", @$var_lain->[4],"\n";
Ada berapa elemen di @$var_lain ?
 my $item = @$var_lain;
print "Ada ", $item ,"Elemen di \@\$var_lain \n";

.."..Blogging : Programing.."..

Komentar