Me-reference dan dereference variabel scalar

 #/usr/bin/perl -w
use strict;
my $nama = 'zaka';
my $ref = \$nama; #$ref = scalar reference ke variabel scalar $nama

Kita bisa lihat bahwa $ref adalah reference yang menunjuk ke nilai string 'zaka' (tidak menyimpan string 'zaka' tetapi dia hanya menyimpan alamat memori dari string 'zaka')

 print $ref, "\n"; #akan mencetak alamat memori dari string "zaka"
#atau SCALAR(0x816addc)

kata "SCALAR" pada kata "SCALAR(0x816addc)" menunjukkan bahwa variabel tersebut adalah SCALAR reference. Untuk menginterogasi jenis reference dari suatu reference kita bisa menggunakan fungsi ref.

 print $$ref, "\n"; #atau
print ${$ref},"\n";
untuk menambahkan string, maka
 $$ref .= 'sembung';
test
 print $$ref,"\n";
apakah $nama juga berubah, tes
 print "$nama \n";
dan kita juga bisa membuat reference untuk konstanta
 my $anon = \666;
print $$anon,"\n";
dan karena sebenarnya kita menyimpan suatu reference ke scalar, maka si 'scalar' ini pun bisa disimpan ke array sebagai elemen..
 use strict;

my $no28 = 'kosin';
my $no7 = 'salim alaydrus';
my $no10 = 'redouane barkawi';

my @persib =(\$no28,\$no7,\$no10);
foreach(@persib) {
print ${$_},"\n";
}

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

Komentar