Perl - Variabel

Variabel adalah lokasi memori yang dicadangkan untuk menyimpan nilai. Ini berarti bahwa ketika Anda membuat variabel, Anda menyediakan beberapa ruang di memori.

Berdasarkan tipe data variabel, interpreter mengalokasikan memori dan memutuskan apa yang dapat disimpan dalam memori yang dicadangkan. Oleh karena itu, dengan menetapkan tipe data yang berbeda ke variabel, Anda dapat menyimpan bilangan bulat, desimal, atau string dalam variabel ini.

Kami telah mempelajari bahwa Perl memiliki tiga tipe data dasar berikut -

  • Scalars
  • Arrays
  • Hashes

Karenanya, kita akan menggunakan tiga tipe variabel di Perl. SEBUAHscalarvariabel akan didahului oleh tanda dolar ($) dan dapat menyimpan angka, string, atau referensi. Sebuaharrayvariabel akan diawali dengan tanda @ dan itu akan menyimpan daftar skalar yang diurutkan. Akhirnya,Hash variabel akan diawali dengan tanda% dan akan digunakan untuk menyimpan kumpulan pasangan kunci / nilai.

Perl memelihara setiap tipe variabel dalam namespace terpisah. Jadi Anda bisa, tanpa takut konflik, menggunakan nama yang sama untuk variabel skalar, array, atau hash. Artinya $ foo dan @foo adalah dua variabel yang berbeda.

Membuat Variabel

Variabel Perl tidak harus secara eksplisit dideklarasikan untuk menyimpan ruang memori. Deklarasi terjadi secara otomatis saat Anda menetapkan nilai ke variabel. Tanda sama dengan (=) digunakan untuk menetapkan nilai ke variabel.

Perhatikan bahwa ini wajib untuk mendeklarasikan variabel sebelum kita menggunakannya jika kita menggunakannya use strict pernyataan dalam program kami.

Operan di sebelah kiri operator = adalah nama variabel, dan operan di sebelah kanan operator = adalah nilai yang disimpan dalam variabel. Misalnya -

$age = 25;             # An integer assignment
$name = "John Paul";   # A string 
$salary = 1445.50;     # A floating point

Di sini 25, "John Paul" dan 1445.50 adalah nilai yang ditetapkan ke variabel $ age , $ name dan $ gaji . Secara singkat kita akan melihat bagaimana kita dapat menetapkan nilai ke array dan hash.

Variabel Skalar

Skalar adalah satu unit data. Data itu mungkin berupa bilangan bulat, floating point, karakter, string, paragraf, atau seluruh halaman web. Hanya mengatakannya bisa apa saja, tapi hanya satu hal.

Berikut adalah contoh sederhana menggunakan variabel skalar -

#!/usr/bin/perl

$age = 25;             # An integer assignment
$name = "John Paul";   # A string 
$salary = 1445.50;     # A floating point

print "Age = $age\n";
print "Name = $name\n";
print "Salary = $salary\n";

Ini akan menghasilkan hasil sebagai berikut -

Age = 25
Name = John Paul
Salary = 1445.5

Variabel Array

Array adalah variabel yang menyimpan daftar nilai skalar yang diurutkan. Variabel array diawali dengan tanda "at" (@). Untuk merujuk ke satu elemen array, Anda akan menggunakan tanda dolar ($) dengan nama variabel diikuti dengan indeks elemen dalam tanda kurung siku.

Berikut adalah contoh sederhana menggunakan variabel array -

#!/usr/bin/perl

@ages = (25, 30, 40);             
@names = ("John Paul", "Lisa", "Kumar");

print "\$ages[0] = $ages[0]\n";
print "\$ages[1] = $ages[1]\n";
print "\$ages[2] = $ages[2]\n";
print "\$names[0] = $names[0]\n";
print "\$names[1] = $names[1]\n";
print "\$names[2] = $names[2]\n";

Di sini kami menggunakan tanda escape (\) sebelum tanda $ hanya untuk mencetaknya. Perl lain akan memahaminya sebagai variabel dan akan mencetak nilainya. Saat dijalankan, ini akan menghasilkan hasil sebagai berikut -

$ages[0] = 25
$ages[1] = 30
$ages[2] = 40
$names[0] = John Paul
$names[1] = Lisa
$names[2] = Kumar

Variabel Hash

Hash adalah satu set key/valuepasangan. Variabel hash diawali dengan tanda persen (%). Untuk merujuk ke satu elemen hash, Anda akan menggunakan nama variabel hash diikuti dengan "kunci" yang terkait dengan nilai dalam tanda kurung kurawal.

Berikut adalah contoh sederhana menggunakan variabel hash -

#!/usr/bin/perl

%data = ('John Paul', 45, 'Lisa', 30, 'Kumar', 40);

print "\$data{'John Paul'} = $data{'John Paul'}\n";
print "\$data{'Lisa'} = $data{'Lisa'}\n";
print "\$data{'Kumar'} = $data{'Kumar'}\n";

Ini akan menghasilkan hasil sebagai berikut -

$data{'John Paul'} = 45
$data{'Lisa'} = 30
$data{'Kumar'} = 40

Variabel Konteks

Perl memperlakukan variabel yang sama secara berbeda berdasarkan Konteks, yaitu situasi di mana variabel digunakan. Mari kita periksa contoh berikut -

#!/usr/bin/perl

@names = ('John Paul', 'Lisa', 'Kumar');

@copy = @names;
$size = @names;

print "Given names are : @copy\n";
print "Number of names are : $size\n";

Ini akan menghasilkan hasil sebagai berikut -

Given names are : John Paul Lisa Kumar
Number of names are : 3

Di sini @names adalah larik, yang telah digunakan dalam dua konteks berbeda. Pertama kita menyalinnya ke larik lain, yaitu daftar, sehingga mengembalikan semua elemen dengan asumsi bahwa konteks adalah konteks daftar. Selanjutnya kami menggunakan larik yang sama dan mencoba menyimpan larik ini dalam skalar, jadi dalam hal ini ia hanya mengembalikan jumlah elemen dalam larik ini dengan asumsi konteksnya adalah konteks skalar. Tabel berikut mencantumkan berbagai konteks -

Sr.No. Konteks & Deskripsi
1

Scalar

Penetapan ke variabel skalar mengevaluasi sisi kanan dalam konteks skalar.

2

List

Penetapan ke larik atau hash mengevaluasi sisi kanan dalam konteks daftar.

3

Boolean

Konteks Boolean hanyalah tempat di mana ekspresi dievaluasi untuk melihat apakah itu benar atau salah.

4

Void

Konteks ini tidak hanya tidak peduli apa nilai yang dikembalikan, bahkan tidak menginginkan nilai kembali.

5

Interpolative

Konteks ini hanya terjadi di dalam tanda kutip, atau hal-hal yang berfungsi seperti tanda kutip.