Bernu Dwi Andika

Icon

explain what this blog is about.

Dasar Pemrograman Perl

Berikut ini contoh program yang digunakan untuk menampilkan string”Selamat Datang”

 #!/usr/bin/perl
 #
 # Program ini menampilkan karakter Selamat Datang
 print "Selamat Datang\n";

Setiap penulisan program dalam bahasa Perl, selalu dimulai dengan pemanggilan interpreter

 #! /usr/bin/perl

atau pada beberapa sistem, interpreter Perl berada pada direktori /usr/local, sehingga pemanggilan interpreter tersebut menjadi

 #!/usr/local/bin/perl

Pemanggilan ini bertujuan untuk memberitahukan ke mesin untuk melakukan eksekusi pada baris program dibawahnya. Dengan kata lain, interpreter ini memberitahukan  perl untuk melakukan perintah eksekusi.

Komentar dan Statemen
Komentar dapat dimasukkan ke dalam program dengan memberikan simbol #. simbol ini dapat diletakkan di mana saja pada baris program, akan tetapi harus dimulai pada bagian awal dari setiap komentar yang diberikan. Semua statemen pada Perl harus diakhiri dengan tanda semicolon, seperti pada baris terakhir dari contoh program diatas.

Fungsi Print
Fungsi Print adalah menampilkan keluaran karakter. Pada contoh di atas, fungsi print digunakan untuk menampilkan string literal “Selamat Datang” dan diakhiri dengan semicolon.

Menjalankan Program
Untuk membuat listing program di atas, gunakan teks editor yang ada pada Linux. Vi adalah teks editor paling populer yang sering dipergunakan oleh programmer Linux di Indonesia, disamping bisa juga digunakan pico, joe, atau emacs. Untuk memudahkan pengaturan file, gunakan ekstensi .pl untuk nama file, walaupun hal tersebut tidak harus dilakukan. Untuk menjalankan program Perl, pastikan file perl tersebut sudah merupakan file eksekusi dengan menggunakan perintah berikut:

 chmod u+x namaprogram
 

pada prompt Linux, dan gantikan namaprogram sesuai dengan nama program yang akan dieksekusi. Program perl ini dapat dijalankan dengan tiga cara seperti berikut :
1. perl namaprogram
2. ./namaprogram
3. namaprogram
jika program tidak berjalan dengan semestinya, gunakan cara seperti berikut :

 perl -w namaprogram
 

option -w digunakan untuk menampilkan warning kalau terdapat kesalahan penulisan program. Sebenarnya option -w bisa diletakkan pada shebang interpreter Perl menjadi /usr/bin/perl -w, sehingga untuk mendapatkan warning dari interpreter perl, tidak harus dijalankan secara manual. Untuk dapat menjalankan debugger bersamaan dengan program Perl, tambahkan option -d pada perintah interpreter perl. Berikut adalah contoh penggunaan option -d.

 Perl -d namaprogram
 

Sama halnya dengan option -w, option untuk menampilkan debuger dapat diletakkan pada shebang pada awal listing program.

Variabel Scalar
Variabel scalar merupakan bagian yang paling mendasar dari berbagai variabel yang digunakan pada Perl. Variabel Scalar digunakan untuk menangani string dan juga penomoran. Berikut ini adalah contoh dari penggunaan statemen variabel scalar:

 $prioritas = 9;
 

variabel ini akan mengatur scalar variabel $prioritas menjadi 9. Terdapat juga statemen lain yang dapat digunakan sebagai sebuah scalar variabel seperti berikut :

 $prioritas = 'high';
 

Perl juga dapat digunakan menggunakan angka sebagai sebuah string seperti berikut ini :

 $prioritas = '9';
 $nilai_default = '0098';
 

Perl menggunakan operator aritmatic yang juga digunakan pada bahasa C seperti berikut :

 $a = 1 + 2; # jumlahkan 1 dan 2 dan letakkan pada $a
 $a = 3 - 4; # 3 kurang 4 dan simpan hasilnya pada $a
 $a = 5 * 6 # Kalikan 5 dan 6 dan simpan hasilnya pada $a
 $a = 9  10 # 9 pangkat 10 dan simpan hasilnya pada $a
 $a = 7 / 8 # 7 dibagikan dengan 8
 $a = 5 % 2 #Sisa pembagian 5 dibagi dengan 2
 ++$a # Tambahkan $a dan kembali ke $a
 $a++ # Kembali ke $a dan tambahkan nilai $a
 -$a # Kurangkan nilai $a dan kembali ke $a
 $a- # Kembali ke $a dan tambahkan nilai $a
 

Untuk string, Perl memiliki beberapa operasi seperti berikut :

 $a = $b . $c # Menggabungkan nilai $a dan $b
 $a = $b x $c # Pengulangan $b sebanyak $c kali
 

Berikut adalah contoh hasil keluaran pengulangan $b sebanyak $c kali :

 #!/usr/bin/perl
 $a = a;
 $b = 6;
 $c = $a x $b;
 print "Hasilnya $c \n";

Keluaran dari listing program diatas menjadi :

 Hasilnya aaaaaa
 

Interpolasi
Kode Program berikut akan menampilkan string pisang dan pepaya :

 $a = 'pisang';
 $b = 'pepaya';
 print $a. 'dan' .$b;
 

Mungkin akan terasa lebih enak seandainya statemen di atas bisa digantikan seperti berikut :

 print '$a dan $b';
 

akan tetapi, hal ini tidak mungkin karena argumen tersebut akan menampilkan keseluruhan dari string yang berada diantara tanda petik. Untuk mengatasi hal ini bisa digunakan tanda petik ganda, seperti berikut ini :

 print "$a dan $b";
 

Pernyataan Terkondisi
Untuk memahami apa yang dimaksud dengan pernyataan terkondisi, perhatikan contoh program berikut.

 #!/usr/bin/perl
 $x = 2 ** 4;
 print "$x\n";
 

Interpreter perl akan melakukan operasi perpangkatan, yaitu dua pangkat empat, dan menyimpan hasilnya pada variabel $x. Perintah print digunakan untuk menampilkan nilai yang berada pada variabel $x. Pola yang digunakan oleh interpreter perl untuk mengeksekusi program tersebut dengan cara sequential. Sequential berarti interpreter mengeksekusi program dimulai pada bagian atas program dan mengeksekusi tiap pernyataan sampai selesai. Program akan di-terminate setelah pernyatan paling akhir selesai dieksekusi. Semua pernyataan yang berada pada program ini disebut dengan pernyataan tidak terkondisi, karena selalu dieksekusi dengan cara sequential. Pada beberapa situasi, sebuah pernyataan tidak harus keseluruhan dieksekusi, akan tetapi pada bagian pernyataan yang bernilai benar. Pernyataan seperti ini sering disebut dengan pernyataan terkondisi. Perl mendukung beberapa pernyataan terkondisi.

Pernyataan if
if merupakan sebuah pernyataan terkondisi yang paling sederhana pada perl. Cara termudah untuk memahami tentang pernyataan if dengan menggunakan potongan program berikut.

 If ($angka) {
 print (Angka yang digunakan bukan 0.\n");
 }
 

Pernyataan if menggunakan dua buah kurung kurawal ( { dan } ). Struktur yang digunakan pada pernyataan if terbagi menjadi dua bagian. Kode yang berada di antara if dan tanda kurung kurawal pembuka ( { ). Kode yang berada diantara tanda kurung kurawal pembuka dan kurung kurawal penutup. Bagian pertama sering dikenal dengan nama conditional expression, dan bagian yang kedua sering disebut dengan statement block.

Ekspresi Kondisi
Bagian pertama dari pernyataan if adalah ekspresi kondisi. Interpreter perl selalu melakukan pengujian jika. Hasil dari pengujian kemudian diletakkan pada salah satu dari dua buah kelas berikut :
Jika hasil pengujian bukan bernilai nol, ekspresi kondisi bernilai benar.
Jika hasilnya sama dengan nol, maka ekspresi dinyatakan bernilai salah.
Interpreter perl menggunakan nilai dari ekspresi kondisi untuk menentukan eksekusi pada pernyataan yang berada di antara { dan }. Jika ekspresi bernilai benar, maka pernyataan akan dieksekusi, dan jika bernilai salah pernyataan tidak akan dieksekusi.
Listing berikut adalah contoh program menggunakan pernyataan if.

 #!/usr/bin/perl
 print ("Masukkan sebuah angka: \n");
 $angka = <STDIN>;
 chop ($angka);
 if ($angka) {
 print ("Angka dimaksud bukan nol\n");
 }
 print ("Ini baris akhir dari program\n");
 

Keluaran dari program ini seperti berikut.

 Masukkan sebuah angka:
 9
 Angka dimaksud bukan nol
 Ini baris akhir dari program
 

Baris 2, 3, dan 4 pada listing program di atas memiliki kesamaan dengan program-program sebelumnya. Baris 2 meminta adanya masukan, baris 3 digunakan untuk menyimpan nilai ke variabel $angka dan baris 4 digunakan untuk menghilangkan karakter newline yang dilakukan oleh operasi chop.
Baris 5-7 merupakan pernyataan if. Pernyatan ini melakukan pengujian pada ekspresi pada variabel $angka. Jika $angka bukan nol, ekspresi akan bernilai benar dan perintah print akan dieksekusi. Jika $angka adalah nol, perl akan melewati perintah print dan interpreter langsung melompati baris ke 8. Baris 8 yang akan dieksekusi oleh perl dan hasil akhir seperti berikut.

 Ini baris akhir dari program
 

Dari contoh ini, bisa disimpulkan bahwa pernyatan if memiliki sintaks seperti berikut.

 if (ekspresi) {
 blok_pernyataan
 

Blok ekspresi digunakan untuk ekpresi kondisi dengan pengujian apakah bernilai benar atau salah. Sedangkan blok_pernyataan merupakan kelompok pernyataan yang akan dieksekusi sesuai dengan nilai yang berasal dari ekspresi.

Blok Pernyataan
Bagian kedua dari pernyataan if adalah pernyataan yang berada diantara { dan }, yang disebut dengan blok pernyataan. Blok pernyataan ini terdiri dari pernyataan-pernyataan sesuai dengan sintaks yang digunakan pada perl. Pada contoh berikut, blok pernyataan terdiri atas satu buah pernyataan.

 Print ("Nilai masukan bukan nol \n");
 

Penggunaan operator ==
Perl memiliki beberapa operator yang digunakan untuk ekspresi kondisi. Salah satu operator yang seringkali digunakan adalah equality comparison opearator, ==. Operator == memiliki kesamaan dengan operator lainnya yang mensyaratkan adanya dua buah operand atau subekspresi. Kerja dari operator ini seperti berikut.
Jika terdapat dua pengujian subekspresi dengan nilai numerik sama, operator == menghasilkan nilai benar.
Jika dua subekspresi memiliki nilai yang berbeda, operator == akan mengeluarkan nilai salah.
Operator ini sering digunakan pada ekspresi kondisi, terutama untuk membandingkan dua kondisi, apakah bernilai benar atau salah. Contoh berikut menunjukkan penggunaan operator == yang membandingkan dua buah angka yang berasal dari standard input file.

 #!/usr/bin/perl
 print ("Masukkan sebuah angka : \n");
 $angka1 = <STDIN>;
 chop ($angka1);
 print ("Masukkan angka lainnya : \n");
 $angka2 = <STDIN>;
 chop ($angka2);
 if ($angka1 == $angka2)
 {
 print ("Dua akan tersebut sama.\n");
 }
 print ("Akhir dari baris program.\n");
 

Jika program tersebut dijalankan, didapatkan hasil seperti berikut.

 Masukkan sebuah angka :
 4
 Masukkan angka lainnya :
 4
 Dua angka tersebut sama.
 Akhir dari baris program
 

Baris 2-4 sama memiliki pernyataan yang sama dengan program-program sebelumnya. Pernyataan tersebut berfungsi untuk menampilkan pesan untuk memasukkan angka di layarm disimpan pada variabel $angka1 dan perintah chop akan mengambil karakter paling akhir dari nilai variabel. Baris 5-7 mengulangi proses yang sama untuk memasukkan angka kedua yang disimpan pada variabel $angka2. Pernyataan ekspresi kondisi untuk membandingkan dua nilai berada pada baris 8-10. baris 8 berisikan ekspresi pembanding berikut.

 $angka1 == $angka2
 

Jika dua angka yang dimasukkan pada variabel $angka1 dan $angka2 bernilai sama, maka ekspresi kondisi dinyatakan bernilai benar. Jika ekspresi kondisi bernilai salah, program akan menampilkan perintah print pada baris akhir.

Penggunaan Operator if dan else
Program di atas dapat dimodifikasi untuk menampilkan pesan jika dua angka bernilai sama dan pesan lainnya digunakan jika dua angka yang dimasukkan tidak bernilai sama. Untuk melakukan hal tersebut digunakan pernyataan if-else. Baris program berikut menggunakan program di atas dengan memodifikasi ekspresi kondisi menggunakan pernyataan if-else.

 #!/usr/bin/perl
 print ("Masukkan sebuah angka : \n");
 $angka1 = <STDIN>;
 chop ($angka1);
 print ("Masukkan angka lain :\n");
 $angka2 = <STDIN>;
 chop ($angka2);
 if ($angka1 == $angka2)
 {
 print ("Kedua angka tersebut sama\n");
 }
 else {
 print ("Kedua Angka tersebut tidak sama\n");
 }
 print ("Ini merupakan baris akhir program\n");
 

Keluaran dari program di atas seperti berikut.

 Masukkan sebuah angka :
 9
 Masukkan angka lain :
 6
 Kedua Angka tersebut tidak sama
 Ini merupakan baris akhir program
 

Baris 2-7 memiliki kesamaan dengan baris program sebelumnya, yang digunakan untuk membaca dua angka, dan menyimpan nilainya ke dalam variabel $angka1 dan $angka2. Terakhir perintah chop digunakan untuk mengambil karakter terakhir yang berada pada tiap masukan angka pada variabel. Baris 8 digunakan untuk membandingkan nilai yang diletakkan pada variabel $angka1 dan variabel $angka2. Jika kedua nilai yang dibandingkan sama, baris 9 dieksekusi dan pesan berikut akan ditampilkan.

 Kedua Angka tersebut tidak sama
 

Interpreter perl kemudian melewati pernyataan pertama setelah pernyataan if-else pada baris 13. Jika  dua nilai yang dibandingkan tidak sama, interpreter perl kemudian menampilkan pesan bahwa kedua nilai tidak sama. Pada kedua kasus interpreter juga mengeksekusi baris perintah terakhir yang memberitahukan bahwa ini merupakan akhir dari baris program.
Pernyataan if-else memiliki sintaks seperti berikut.

 If (ekspresi) {
 Blok_pernyataan_1
 } else {
 blok_pernyataan_2
 }
 

Penggunaan Operator elsif
Selain ekspresi di atas, perl juga menyediakan pernyataan kondisi yang memilih satu diantara lebih dari dua alternatif. Pernyataan kondisi ini menggunakan if-elsif-else. Untuk memudahkan pemahaman menggunakan pernyataan tersebut, ekspresi kondisi ini bisa diikuti pada contoh program berikut.

 #!/usr/bin/perl
 print ("Masukkan angka pertama:\n");
 $angka1 = <STDIN>;
 chop ($angka1);
 print ("Masukkan angka kedua:\n");
 $angka2 = <STDIN>;
 chop ($angka2);
 if ($angka1 == $angka2) {
 print ("Kedua angka bernilai sama\n");
 }
 elsif ($angka1 == $angka2 + 1) {
 print ("Angka pertama lebih besar 1 angka \n");
 }
 elsif ($angka1 + 1 == $angka2) {
 print ("Angka kedua lebih besar 1 angka \n");
 }
 else {
 print ("Kedua angka tersebut tidak sama\n");
 }
 print ("Ini adalah akhir dari program\n");
 

Contoh keluaran jika program tersebut dijalankan seperti berikut

 Masukkan angka pertama:
 5
 Masukkan angka kedua:
 6
 Angka kedua lebih besar 1 angka
 Ini adalah akhir dari program
 

Baris 2-7 mungkin dengan mudah dapat dipahami karena digunakan pada contoh program sebelumnya. Seperti biasa baris ini meminta masukan dari standar input, yaitu untuk $angka1 dan $angka2 dan menyimpannya pada variabel masing-masing. Terakhir masing-masing nilai dilakukan perintah chop untuk mengambil karakter terakhir dari nilai pada variabel. Baris 9 di atas melakukan pengecekan apakah kedua angka bernilai sama, jika ya, baris berikutnya akan dieksekusi untuk menampilkan pesan bahwa kedua nilai tersebut sama. Interpreter perl akan langsung melewati beberapa ekspresi jika kedua nilai yang dibandingkan tidak sama menuju baris 18 yang menampilkan pesan bahwa kedua nilai tersebut tidak sama. Baris 11 digunakan untuk perbandingan lainnya. Ekspresi ini akan menambahkan 1 angka ke variabel $angka2 dan melakukan perbandingan dengan $angka1. Jika hasilnya sama, perl akan mengeksekusi baris 12 dan menampilkan pesan bahwa angka pertama lebih besar 1 angka. Interpreter perl juga langsung menuju baris akhir untuk menampilkan pesan akhir dari progam. Jika ekspresi kondisi pada baris 11 salah, interpreter perl menuju ke baris 14. Baris ini menambahkan 1 angka pada variabel $angka1. Jika kedua nilai sama perl akan mengeksekusi baris 15, yang akan menampilkan pesan bahwa angka kedua lebih besar 1 angka. Jika ekspresi pada baris 14 dinyatakan salah, perl menuju ke baris 16 dan mengeksekusi perintah bahwa kedua angka yang dimasukkan bernilai tidak sama.
Sintaks dari if-elsif-else menggunakan pernyataan seperti berikut.

 If (ekspresi_1) {
 blok_pernyataan_1
 } elsif (ekspresi_2) {
 blok_pernyataan_2) {
 } elsif (ekspresi_3) {
 blok_pernyataan_3
 .................................................
 } else {
 blok_pernyataan
 }
 

Ekspresi pada if-elsif-else pada dasarnya hanya merupakan penambahan pada pernyataan if-else. Sintaks if-elsif-else dapat dituliskan dengan menghilangkan pernyataan else seperti pada contoh berikut.

 If (ekspresi_1) {
 blok_pernyataan_1
 } elsif (ekspresi_2) {
 blok_pernyataan_2
 } elsif (ekspresi_3) {
 ..............................
 }
 

Pada sintaks seperti ini, jika pada setiap ekspresi tidak ada yang memiliki nilai benar, perl hanya akan melewati setiap pernyataan menuju ke pernyataan berikutnya.

Penulisan Looping Menggunakan while
Sejauh ini pernyataan kondisi yang dibahas sangat memungkinkan perl untuk melakukan pengujian di antara beberapa alternatif pilihan. Pernyataan kondisi di atas memiliki kesamaan, di mana terdapat ekspresi yang tidak dieksekusi sama sekali atau dieksekusi hanya sekali. Perl memiliki kemungkinan untuk menuliskan pernyataan terkondisi yang memberitahukan ke interpreter perl untuk mengulangi sebuah blok pernyataan hingga beberapa kali. Sebuah blok pernyataan yang dapat dijalankan beberapa kali sering dikenal dengan nama loop.
Cara termudah untuk menuliskan sebuah loop pada perl adalah dengan menggunakan pernyataan while. Contoh penggunaan pernyataan while seperti berikut.

 While ($angka == 6) {
 print ("Angka yang digunakan masih 6!\n");
 }
 

Struktur yang digunakan pada pernyataan while memiliki kesamaan dengan pernyataan if, yang membedakan adalah cara kerja kedua pernyataan. Ekspresi pada while menggunakan cara berikut. Pertama, dilakukan pengujian ekspresi kondisi yang berada diantara tanda kurung.
Jika ekspresi kondisi bernilai benar, blok pernyataan yang berada di antara { dan } akan dieksekusi. Jika ekspresi bernilai salah, blok pernyataan akan dilewatkan, dan perl menuju ke pernyataan menggunakan while. Jika blok pernyataan diekekusi, interpreter perl kembali ke awal dari pernyataan while, dan melakukan pengujian ekspresi kondisi seperti sebelumnya. Blok pernyataan pada while selalu diulangi sampai ekspresi kondisi menjadi bernilai sakah. Hal ini berarti bahwa pernyataan

 While ($angka == 6) {
 print ("Angka yang digunakan masih 6!\n");
 }
 

akan terus melakukan looping jika nilai pada $angka adalah 6, karena nilai dari $angka tidak berubah dan ekspresi kondisi yang digunakan bernilai benar. Berikut merupakan contoh program yang menggunakan pernyataan while.

 #!/usr/bin/perl
 $awal = 0;
 $count = 1;
 print ("Baris ini akan ditampilkan sebelum proses looping\n");
 while ($awal ==0) {
 print ("Nilai dari count adalah ",$count,"\n");
 if ($count == 3) {
 $awal = 1;
 }
 $count = $count +1;
 }
 print ("Akhir proses looping\n");
 

Keluaran dari program berikut adalah :

 Baris ini akan ditampilkan sebelum proses looping
 Nilai dari count adalah 1
 Nilai dari count adalah 2
 Nilai dari count adalah 3
 Akhir proses looping
 

Baris 2-4 di atas mempersiapkan proses looping. Baris 2 digunakan untuk memberikan nilai 0 pada variabel $awal. Baris 3 memberikan nilai 1 untuk variabel $count. Sedangkan pada baris 4 digunakan hanya untuk menampilkan pesan awal proses looping dimulai. Pernyataan while berada pada baris 5-11. baris 5 ini berisikan ekspresi kondisi yang diuji. Jika ekspresi yang diuji bernilai benar, blok pernyataan yang berada pada baris 7-11 dieksekusi. Baris 6 menampilkan nilai dari variabel $count. Sampai disini variabel $count memiliki nilai 1 dan menampilkan pesan ke layar monitor. Baris 8-10 dilakukan pengujian sampai dengan nilai variabel menjadi 3. Dikarenakan nilai $count adalah 1, maka ekspresi kondisi pada baris 7 bernilai salah, dan interpreter perl langsung melewati sampai dengan baris 10. Baris 11 menambahkan nilai 1 ke dalam $count sehingga nilai variabel menjadi 2. Sampai pada bagian ini interpreter perl kembali ke baris 5 dan mengulangi proses pengulangan. Berikut adalah logika selengkapnya dari program di atas.
* Baris 5 : Jika nilai $awal ==0 benar, program dilanjutkan.
* Baris 6 : Tampilkan pada monitor Nilai dari count adalah 2.
* Baris 8: $count bernilai 2, $count == 3 bernilai salah, maka lanjutkan ke baris 10.
* Baris 10 : Tambahkan nilai 1 ke dalam $count, sehingga menjadi 3.
* Baris 11 : kembali ke baris 5 untuk melakukan proses looping.
* Baris 6 : Nilai dari $awal = 0 adalah benar, sehingga program dilanjutkan.
* Baris 7 : Tampilkan Nilai dari count adalah 3 pada layar.
* Baris 8 : $count bernilai 3; dan dilakukan pengujian dengan menggunakan $count == 3 dan bernilai benar, sehingga blok pernyataan if diekekusi.
* Baris 9 : $awal diset menjadi 1. Eksekusi dilanjutkan dengan pernyataan pertama setelah if, yaitu pada baris 10.
* Baris 11 : $count bernilai 4.
* Baris 12 : Kembali ke baris 5.
* Baris 5 : $awal bernilai salah karena  $awal=0 menjadi $awal = 1. Interpreter perl keluar dari proes looping dan melewati proses looping menunju ke baris awal setelah pernyataan while yaitu baris 12.
* Baris 12 digunakan untuk menampilkan karakter “Akhir proses looping”.  Setelah menampilkan karakter ke layar eksekusi program dihentikan karena tidak ada lagi pernyataan yang akan dieksekusi.
Sintaks umum dari pernyataan while adalah seperti berikut.

 while (ekspresi) {
 blok_pernyataan
 }
 

Sintaks ini memiliki kemiripan dengan pernyataan if. Kesamaan tersebut memiliki ciri ekspresi kondisi yang berada pada (ekspresi) harus dilakukan pengujian, dan blok_pernyataan akan diekekusi jika kondisi bernilai benar.

Pernyataan Tersarang
Pernyataan if diatas sebenarnya merupakan contoh kondisi pernyataan tersarang. Di dalam pernyataan ini terdapat  pernyataan kondisi lainnya seperti pernyataan while. Perl memungkinkan untuk membuat pernyataan di dalam sebuah pernyataan. Sehingga dimungkinkan adanya pernyataan while di dalam pernyataan while seperti berikut.

 while (ekspresi_1) {
 pernyataan
 while (ekspresi_2) {
 pernyataan_lain
 }
 pernyataan_lainnya_lagi
 }
 

Juga sangat dimungkinkan pernyataan if menjadi bagian dari pernyataan if lainnya, atau pernyataan while berada di dalam pernyataan if. Kondisi tersarang bisa dimasukkan ke dalam elsif dan else seperti pada sintaks berikut.

 if ( $angka ==0) {
 pernyataan
 } elsif ($angka == 1) {
 while ($angka2 == 20) {
 blok_pernyataan
 }
 } else {
 while ($angka2 == 30) {
 blok_pernyataan
 }
 }

Looping Menggunakan until
Pernyataan until juga digunakan untuk melakukan proses looping pada perl. Pernyataan ini memiliki kemiripan dengan pernyataan yang digunakan pada pernyataan while. Perbedaan terletak pada pernyataan while melakukan proses looping jika ekspresi kondisi bernilai benar, sedangkan pada pernyataan until looping dilakukan sampai pernyataan menjadi benar. Hal ini berarti bahwa proses looping dilakukan selama kondisi masih bernilai salah. Berikut adalah contoh program yang melakukan proses looping menggunakan until.

 #!/usr/bin/perl
 print ("Berapakah 17 ditambah 40\n");
 $jawaban_benar = 57;
 $jawaban = <STDIN>;
 chop ($jawaban);
 until ($jawaban == $jawaban_benar) {
 print ("Salah!, Ulangi lagi\n");
 $jawaban = <STDIN>;
 chop ($jawaban);
 }
 print ("Anda benar! Selamat....\n");
 

Berikut adalah keluaran dari program di atas.

 Berapakah 17 ditambah 40
 56
 Salah!, Ulangi lagi
 55
 Salah!, Ulangi lagi
 57Anda benar! Selamat ....
 

Baris 2 dan 4 digunakan untuk mengatur proses looping. Baris 2 menampilkan pertanyaan di layar monitor yang diikuti dengan baris 3 yang mengatur jawaban yang benar dengan menggunakan variabel $jawaban_benar. Baris 4 dan 5 digunakan untuk memasukkan jawaban dari pertanyaan sebelumnya. Baris 4 membaca jawaban yang berasal dari standar input dan meletakkan jawabannya pada variabel $jawaban. Perintah chop dilakukan pada baris 5 untuk mengambil karakter terakhir dari input yang diberikan. Baris 6 digunakan untuk pengujian jawaban yang dimasukkan. Pengujian menggunakan operator == yang membandingkan antara $jawaban dengan $jawaban_benar. Jika kedua variabel tersebut bernilai tidak sama, interpreter perl menuju ke baris 7-9, jika nilai kedua variabel tadi sama, interpreter langsung menuju ke baris 11. Baris 7 digunakan untuk menampilkan karakter berikut dilayar.

 Salah!, Ulangi lagi
 

Baris 8 digunakan untuk membaca jawaban berikut yang berasal dari standar input dan meletakkan jawaban tersebut ke dalam variabel $jawaban. Dan seperti biasa, baris perintah ini diikuti dengan perintah chop pada baris 9, dan interpreter akan kembali ke baris 6 untuk melakukan pengujian. Interpreter perl langsung membaca baris 11 jika jawaban yang diberikan benar. Sampai pada bagian ini, pada layar monitor ditampilkan pesan bahwa jawaban yang dimasukkan benar. Pernyataan until memiliki sintaks seperti berikut.

 Until (ekspresi) {
 blok_pernyataan
 }
 

ARRAY Pada Perl
Kumpulan dari scalar disebut dengan sebuah array. Sebuah array memiliki nama variabel yang dimulai dengan simbol @, dimana array dari scalar ini menggunakan tanda koma (,) untuk memisahkan variabel dari array.  Berikut adalah contohnya :

 @nama = ("dudis", "mira", "adhe");
 

sebuah subscript array di notasikan dengan tanda $nama[0]. Intinya kita dapat menggabungkan penggunaan array dan scalar pada baris program, dan hal ini tidak menjadi masalah. Berikut adalah contoh dari penggunaannya :

 #!/usr/bin/perl
 @item = (15, '23000', "dapat");
 print "Ambil $item[0] anda $item[2]  Rp. $item[1]";
 

Keluarannya adalah :

 Ambil 15 anda dapat Rp.23000
 

Semua array didalam perl bersifat sangat dinamik, artinya pada saat anda melakukan kegiatan pemrograman di lingkungan Linux, anda sama sekali tidak perlu mengatur bagaimana manejemen memori dan alokasinya, Perl akan melakukan hal-hal tersebut secara otomatis. Array pada perl dapat berisikan beberapa array lagi yang sering disebut dengan isitilah subarray, contoh berikut memperlihatkan bagaimana subarray tersebut pada perl :

 @A = (1, 2, 3);
 @B = (4, 5, 6);
 @C = (7, 8, 9);
 @D = (@A, @B, @C);
 

hasilnya, array @D akan berisikan nilai array lainnya yaitu 1 hingga 9. Bentuk lain dari subarray bisa dilihat seperti berikut ini :

 @Annual = (@Spring, @Summer, @Fall, @Winter);
 

Kode di atas menggabungkan beberapa array sekaligus dengan cara lain, yaitu dengan menggunakan sub array yang ditempatkan pada array utama, dimana array @anual akan memuat beberapa nilai dari array lainnya. Perl juga memiliki banyak fungsi yang sifatnya built-in, misalnya adalah fungsi sort, dimana perintah sort akan mengambil sebuah array sebagai sebuah argumen dan mengambalikan pada array yang sama, yaitu melakukan pengurutan secara alpabetikal. Kita lihat contoh berikut ini :

 #!/usr/bin/perl
 print sort ( 'Beta', 'Gamma', 'Alpha' );
 

dan keluarannya adalah :

 AlphaBetaGamma.
 

Anda Juga dapat membuat kode yang hampir sama dengan menggunakan fungsi lainnya, yang sering disebut dengan join. Fungsi ini akan mengambil dua buah argumen: sebuah string untuk saling berhubungan (connect-with), dan sebuah array string yang digunakan untuk berhubungan. Fungsi join akan mengembalikan string tunggal yang terdiri dari semua elemen didalam array yang digabungkan dengan menghubungkan string. Berikut ini  contoh penggunaannya :

 #!/usr/bin/perl
 print join ( ' : ', 'Nama', 'Alamat', 'Telphone');
 

Kode ini akan memberikan keluaran kira-kira :

 Nama : Alamat : Telphon
 

fungsi sort juga dapat digabungkan dengan menggunakan join untuk menghasilkan keluaran seperti pada contoh ini :

 #!/usr/bin/perl
 print join(', ', sort ('Beta', 'Gamma', 'Alpha'));
 

berikut ini adalah keluaran program diatas :

 Alpha,Beta,Gamma
 

contoh lain adalah :

 #!/usr/bin/perl
 print join(':',('A','B','C'),('D','E'),('F','G','H','I'));
 

Keluaran dari program diatas adalah :

 A: B: C: D: E: F: G: H: I.
 

Anda juga dapat menggunakan satu buah array atau banyak array, sehingga beberapa array dapat digabungkan menjadi satu.

Array asosiatif
asosiatif array dalam perl akan banyak memberikan fungsi database pada level yang paling rendah. Dengan demikian anda dapat mengambil sebuah elemen atau bagian dari array, dengan menggunakan subscript sebagai referensi (untuk subscript dan referensi belum dibahas pada modul ini). Jelasnya kita lihat contoh berikut  ini :

 #!/usr/bin/perl
 @fruit = ( "Apple", "Orange", "Banana" );
 print $fruit[2];
 

Sudah bisa anda duga bahwa hasil dari keluaran kode program diatas adalah banana, hal ini dikarenakan subscripts dimulai pada angka 0 (zero), sehingga jika subscripts menggunakan nilai 2, maka elemen ketiga yang akan diambil dari array. Jika anda memberikan referensi fruit[7] anda akan memperoleh nilai 0 / nul, dikarenakan array tidak menyimpan elemen yang dimaksud. Kesimpulannya, asosiatif array adalah daftar nilai yang berurutan (indexed) yang dilakukan oleh string. Implementasi dari asosiatif array menjadi lebih kompleks lagi dikarenakan setiap string harus memiliki sebuah nilai. Berikut ini contoh program yang akan memberikan referensi array yang lebih kompleks lagi.

 #!/usr/bin/perl -w
 %identitas = ( ‘AB',’ Andika Bernu',
 'G',  'Geek',
 'Z',  'Zaenal');
 %tempat  = (  'AB', 'Bandung',
 'G',  'Computing',
 'Z',  'Cigending’);
 %kerja  = ('AB',  'NetAdmin',
 'G', 'Facebook',
 'Z', 'Nonton Doraemon');
 foreach$person ('AB','G','Z')
 {
 print "Nama Saya $identitas{$person},\n",
 "Saya Tinggal di $tempat{$person},\n",
 "Saya $kerja{$person} disana.\n\n";
 }
 

Keluaran program diatas seperti berikut :

 Nama Saya Andika Bernu,
 Saya Tinggal di Bandung,
 Saya NetAdmin disana.
 Nama Saya Geek,
 Saya Tinggal di Computing,
 Saya Facebook disana.
 Nama Saya Zaenal,
 Saya Tinggal di Cigending,
 Saya Nonton Doraemon disana.
 

Pada program diatas, kita menggunakan fungsi foreach yang akan menampilkan nilai dari array yang sudah dibuat, fungsi foreach memiliki hubungan yang erat dengan flow kontrol yang akan dibahas nanti. Dalam kode program diatas, foreach akan melakukan eksekusi terhadap tiga buah elemen yang di definisikan dengan foreach, dan menampilkan ketiga buah elemen tersebut.

Scalar
Sebuah nilai scalar pada dasarnya merupakan sebuah unit data. Unit data ini bisa berupa angka dan juga teks. Perl memiliki beberapa tipe nilai scalar yang harus dipahami. Satu diantaranya adalah nilai scalar integer yang akan dibahas berikut.
Nilai Scalar Integer
Nilai scalar integer merupakan nilai scalar yang sering dipergunakan pada perl. Nilai sclar integer sering juga dikenal dengan nama integer constant atau integer literal. Nilai Scalar Integer terdiri atas satu atau lebih dari satu digit, dan bisa juga ditandai dengan plus atau minus termasuk penggunaan tanda underscore.

 16
 100000000
 -45
 1_00_00
 

Penggunaannya dapat dimasukkan ke dalam ekspresi atau dimasukkan ke dalam variabel scalar, seperti contoh berikut.

 $x = 123456;
 if (500 + 400 == 900) {
 #blok_pernyataan
 }
 

Pembatasan pada Nilai Scalar Integer
Pada perl, ukuran integer yang dapat dimasukkan pada sebuah program memiliki batasan tersendiri. Untuk melihat bagaimana batasan yang dimaksud termasuk cara kerjanya, perhatikan program berikut.

 #!/usr/bin/perl
 $nilai = 123456789;
 print ("Nilai pertama adalah ", $nilai, "\n");
 $nilai = 1234567890123456;
 print ("Nilai kedua adalah ", $nilai, "\n");
 $nilai = 12345678901234567890;
 print ("Nilai ketiga adalah ", $nilai, "\n");
 

Keluaran dari program ini adalah seperti berikut.

 Nilai pertama adalah 123456789
 Nilai kedua adalah 1.23456789012346e+15
 Nilai ketiga adalah 1.23456789012346e+19
 

Pada keluaran program terlihat bahwa tiga digit terakhir digantikan dengan nilai yang berbeda. Dalam hal ini perl menyimpan nilai integer ke dalam register floating point pada mesin. Pada kebanyakan mesin, sebuah register floating point dapat menyimpan sebesar 16 digit. Sebuah nilai integer yang  dimulai dengan angka 0 memiliki arti khusus pada perl.

 $x = 01234;
 

Angka 0 yang berada di depan sebuah bilangan integer menyebabkan interpreter perl mengartikannya sebagai bilangan oktal. Hal ini akan dibahas pada subbab notasi bilangan oktal dan heksadesimal.

Nilai Scalar Floating Point
Perl juga bisa digunakan untuk menangani operasi-operasi yang menggunakan bilangan floating point. Floating point bisa menggunakan tanda minus (-), tanda desimal (.) atau eksponensial. Berikut adalah contoh sebuah floting point.

 12.5
 -876
 -9.7
 .7
 3.
 

Nilai pada eksponensial merepresentasikan nilai tersebut apakah dikalikan atau dibagi dengan nilai berikutnya. Sebagai contoh, eksponen e+01 memberitahukan interpreter perl untuk mengalikan nilai scalar 10 dengan 1 sehingga hasilnya menjadi 10. hal ini berarti nilai scalar 8e+01 sama dengan 8 dikalikan dengan 10 atau 80. Dengan cara yang sama, eksponen e+02 sama dengan 100, e+03 sama dengan 1000 dan seterusnya. Nilai scalar berikut ini memiliki kesamaan satu sama lain.

 561e+01
 56.1e+02
 5.61e+03
 

Penggunaan eksponen negatif diartikan oleh interpreter perl untuk melakukan pembagian dengan 10. sebagai contoh, nilai 55e-01 sama saja dengan 55 dibagi dengan 10, yaitu 5,4. dengan cara yang sama, e-02 akan dibagi dengan 100, dan e-03 diabagi dengan 1000 demikian seterusnya. Eksponen e+00 sama artinya dengan melakukan perkalian sebuah nilai dengan 1, yang berarti tidak ada perubahan pada nilai. Contoh program berikut merupakan contoh penggunaan operasi floating point pada perl.

 #!/usr/bin/perl
 $nilai = 34.0;
 print ("Nilai pertama adalah ",$nilai, "\n");
 $nilai = 114.6e-01;
 print ("Nilai kedua adalah ",$nilai, "\n");
 $nilai = 178.263e+19;
 print ("Nilai ketiga adalah ", $nilai, "\n");
 $nilai = 12345678900000000000000000;
 print ("Nilai keempat adalah ", $nilai, "\n");
 $nilai = 1.23e+999;
 print ("Nilai kelima adalah ", $nilai, "\n");
 $nilai = 1.23e-999;
 print ("Nilai keenam adalah ", $nilai, "\n");
 

Keluaran dari program di atas adalah seperti berikut.

 Nilai pertama adalah 34
 Nilai kedua adalah 11.46
 Nilai ketiga adalah 1.78263e+21
 Nilai keempat adalah 1.23456789e+25
 Nilai kelima adalah inf
 Nilai keenam adalah 0
 

Baris program ini digunakan untuk menyimpan dan menampilkan berbagai bentuk nilai scalar. Baris 2 menyimpan sebuah nilai floating point 34.0 ke dalam variabel $nilai. Baris 3 digunakan untuk menampilkan nilai yang berada pada variabel sebelumnya. Nilai pada variabel $nilai pertama tidak menyimpan angka signifikan setelah tanda desimal, perl menampilkan hasilnya sebagai sebuah bilangan integer menjadi 34. Baris 4 berisikan sebuah nilai 114.6e-01 pada $nilai. Baris 5 digunakan untuk menampilkan nilai tersebut. Seperti sudah diterangkan di atas, pada baris ini dilakukan pembagian dengan 10 sehingga keluaran menjadi 11.46. Pada baris 7 dan 8 ditunjukkan bagaimana sebuah angka yang memiliki ukuran cukup besar dikonversikan dengan menampilkannya sebagai sebuah notasi saintifik. Sehingga dari nilai yang tadinya 178.26e+19 dikonversikan menjadi 1.78263e+21. Dalam hal ini tanda desimal digeser dua langkah ke arah kiri, sehingga nilai eksponen yang sebelumnya 19 menjadi 21. Jika sebuah bilangan integer memiliki panjang yang cukup besar untuk untuk ditampilkan, interpreter perl akan melakukan konversi ke dalam notasi saintifik seperti yang diperlihatkan pada baris 8 dan 9.
Baris 10 dan 11 menunjukkan apa yang terjadi jika terdapat nilai yang memiliki panjang melebihi nilai yang dapat ditampung pada register floating point. Pada kasus seperti ini, interpreter perl menampilkan nilai inf yang berarti infinity. Ukuran maksimum dari floating point berbeda antara satu mesin dengan mesin lainnya. Pada umumnya, ukuran yang mungkin untuk dimasukkan ke dalam sebuah register berkisar e+308.
Sedangkan baris 12 dan 13 menunjukkan kasus sebuah bilangan yang memiliki eksponen negatif cukup besar. Dalam hal ini perl akan menampilkan hasil dengan nilai 0. Nilai yang mungkin untuk eksponen negatif berkisar menjadi e-309.

Round off Error pada Operasi Floating Point
Operasi floating point memiliki sebuah masalah yang sering disebut dengan round off error. Contoh berikut memperlihat bagaimana kesalahan terjadi pada operasi floating point.

 #!/usr/bin/perl
 $nilai = 9.01e+21 + 0.01 - 9.01e+21;
 print ("Angka pertama ",$nilai, "\n");
 $nilai = 9.01e+21 - 9.01e+21 + 0.01;
 print ("Angka kedua ", $nilai, "\n");
 

Jika program tersebut dijalankan, hasilnya seperti berikut ini.

 Angka pertama 0
 Angka kedua 0.01
 

Baris 2 dan 4 digunakan untuk melakukan operasi penambahan, yaitu 9.01+21 dengan 0.01. Pada baris 2, sebuah angka yang sangat kecil, 0.01 ditambahkan ke sebuah angka besar, 9.012+21.  Secara matematis akan diperoleh hasil yang cukup besar menjadi  9.01000000000000000000001+21. Angka 1 pada bagian akhir dari operasi tersebut hanya dapat ditampilkan oleh mesin yang mendukung operasi floating point sampai dengan 24 digit. Padahal kebanyakan mesin hanya mendukung sekitar 16 atau 17 digit. Hasilnya angka 1 dan 0 yang lebih dari digit 16 atau 17 tidak dapat ditampilkan. Hasil akhir dari operasi tersebut menjadi 9.0100000000000000e+21.
Baris 4 sama sekali tidak memiliki masalah kelebihan digit ini. Hal ini dikarenakan dua angka pertama yang dioperasikan memiliki nilai cukup besar dan baru kemudian ditambahkan dengan 0.01. Hasilnya bisa diduga menjadi 0.01. Dapat disimpulkan bahwa operasi floating point memiliki akurasi hasil yang tinggi jika menggunakan angka dalam jumlah besar.

Penggunaan Notasi Oktal dan Heksadesimal
Sejauh ini penggunaan scalar baru menggunakan bilangan integer dengan notasi desimal. Selain notasi desimal, perl memungkinkan untuk menggunakan notaso lain seperti berikut.
Notasi basis 8, sering disebut dengan oktal.
Notasi basis 16, sering disebut dengan heksadesimal.
Untuk menggunakan notasi oktal, letakkan angka nol didepan setiap bilangan integer yang digunakan.

 $bilangan = 076;
 

Variabel pada $bilangan memiliki nilai oktal 76 atau dalam desimal 62. Untuk menggunakan notasi heksadesimal, letakkan 0x didepan setiap bilangan integer, seperti berikut.

 $bilangan = 0x2f;
 

Variabel $bilangan memiliki nilai 1f dalam heksadesimal atau 31 dalam desimal. Penggunaan huruf besar atau huruf kecil juga dimungkinkan dalam perl untuk merepresentasikan bilangan heksadesimal. Berikut adalah contoh penggunaannya.

 $bilangan = 01F;
 $bilangan = 01f;
 String Karakter;
 

Pada contoh-contoh program sebelumnya diperlihatkan bahwa perl dapat menggunakan sebuah teks yang menjadi nilai pada variabel scalar. Penggunaan sebuah teks pada variabel scalar seperti pada contoh berikut.

 $var = "Ini adalah contoh kalimat";
 

Teks tersebut sering disebut dengan string karakter, atau biasa disingkat engan sebuah string. Sebuah string bisa berisikan satu atau lebih huruf, digit, spasi, atau karakter khusus.

Penggunaan Tanda Petik Ganda
Perl mendukung penggunaan subtitusi pada variabel scalar dengan menggunakan tanda petik ganda untuk mengapit sebut teks. Walaupun perl mengartikan nilai yang berada pada tanda petik ganda sebagai sebuah string, nilai dari suatu variabel yang berada pada tanda petik ganda tidak dianggap sebagai suatu string.

 $angka = 11;
 $teks = "Teks ini berisikan sebuah angka $angka";
 

Pada saat interpreter perl melihat adanya variabel $angka pada pernyataan yang kedua, variabel $angka tetap diartikan sesuai dengan nilai yang berada pada variabel tersebut. Pada akhirnya penggunaan subtitusi pada perintah print lebih memudahkan untuk menggunakan berbagai argumen dalam satu baris. Contoh pertama berikut ini bukan merupakan jenis subtitusi pada variabel scalar.

 print ("Hasil perkalian adalah",$hasil, "\n");
 

Dan contoh berikutnya merupakan subtitusi pada variabel scalar.

 print "Hasil perkalian adalah $hasil \n";
 

Penggunaan Escape Sequence
String karakter yang berada pada tanda petik ganda dapat menggunakan sebuah karakter khusus yang sering disebut dengan escape sequence. Karakter khusus ini diawali dengan tanda backslash dan diikuti dengan satu atau beberapa karakter. Karakter khusus yang sudah digunakan pada contoh-contoh program di atas adalah \n yang berarti pindah ke baris baru atau baris berikutnya. Tanda \Q seringkali digunakan untuk string yang menggunakan pattern, atau pencocokan pola. Karakter khusus \L, \U dan \Q tidak memiliki dampak apapun jika digunakan karakter khusus \E. Seperti contoh berikut.

 $a = "I \L NI ADALAH SEBUAH \E STRING"; # Sama saja dengan "Ini adalah sebuah STRING"
 

Untuk memasukkan sebuah string backslash atau tanda petik ganda pada sebuah karakter string, gunakan tanda \ kemudian diikuti dengan karakter yang akan dimasukkan.

 $hasil = "Tanda petik ganda \" pada sebuah string";
 $hasil = "Tanda backslash \\ pada sebuah string";
 

Penggunaan backslash dapat digunakan untuk memasukkan karakter $ pada sebuah string.

 $hasil = 45;
 print "Hasil dari \$hasil adalah $hasil\n";
 

Dengan demikian notasi oktal dapat dimasukkan sebagai nilai ASCII menggunakan \nnn, di mana n adalah digit oktal.

 $hasil = "\377";
 

Notasi heksadesimal juga dapat dimasukkan menjadi nilai ASCII. Untuk itu, gunakan tanda \xnn, di mana n adalah digit heksadesimal.

 $hasil = "\xff";
 

Contoh program berikut menunjukkan bagaimana penggunakan escape sequence. Program ini mengambil baris input dan melakukan konversi ke dalam berbagai bentuk.

 #!/usr/bin/perl
 print ("Masukkan baris input : \n");
 $barisinput = <STDIN>;
 print ("uppercase: \U$barisinput\E\n");
 print ("lowercase: \L$barisinput\E\n");
 

Keluaran dari program ini adalah seperti berikut.

 Masukkan baris input :
 Ini adalah baris masukan
 uppercase: INI ADALAH BARIS MASUKAN
 lowercase: ini adalah baris masukan
 

Baris 2 pada program digunakan untuk membaca adanya masukan dan meletakkannnya ke dalam variabel scalar $barisinput. Baris 4 menggantikan string $barisinput dengan nilai pada variabel scalar $barisinput. Sedangkan karakter \U menyebabkan interpreter perl untuk mengkonversikan semua string menjadi uppercase semua sampai adanya karakter \E. Sehingga baris 4 akan menampilkan karakter dengan keluaran huruf besar. Baris 5 menuliskan baris input ke dalam bentuk huruf kecil. Pada program hal ini dimulai karena adanya karakter \L

Penggunaan Tanda Petik Tunggal
Perl memungkinkan untuk menggunakan tanda petik tunggal pada sebuah karakter string.

 $teks = "ini adalah sebuah string menggunakan petik tunggal;
 

Terdapat perbedaan dalam penggunaan antara tanda petik ganda dan tanda petik tunggal. Perbedaan pertama, pada tanda petik ganda variabel scalar akan berisikan nilai variabel, sedangkan pada tanda petik tunggal tidak. Hal ini seperti terlihat pada contoh berikut.

 #!/usr/bin/perl
 $string = "ini string";
 $teks = "ini adalah $string";
 $teks2 = 'ini adalah $string';
 print "$teks\n";
 print "$teks2\n";
 

Keluaran dari program ini adalah seperti berikut.

 ini adalah ini string
 ini adalah $string
 

Perbedaan kedua adalah penggunaan karakter backslash, \, tidak memiliki arti khusus pada tanda petik tunggal.

 $teks = 'ini adalah sebuah string. \n';
 

Pernyatan ini akan memiliki keluaran sebagai berikut.

 ini adalah sebuah string.
 

Penggunaan karakter \ memiliki dua arti khusus jika digunakan pada  string yang menggunakan tanda petik tunggal. Pertama pada saat memasukkan karakter petik tunggal pada sebuah string.

 $teks = 'ini adalah tanda \' petik tunggal';
 

Keluaran dari program ini akan berisikan sebuah tanda petik tunggal yang berada pada sebuah string.

 ini adalah tanda ' petik tunggal.
 

Kedua adalah untuk menampilkan tanda backslash pada sebuah string.

 $teks = 'string ini berisikan tanda backslash \\';
 

Yang menghasilkan keluaran potongan program tersebut menjadi seperti berikut.

 string ini berisikan tanda backslash \
 

string yang menggunakan tanda petik tunggal dapat dipisahkan oleh banyak baris. Contoh penggunaannya dapat dilihat dari pernyataan berikut ini.

 $teks = ' ini adalah sebuah baris string yang terdiri atas dua baris ';
 

Pernyataan ini memiliki kesamaan dengan pernyataan berikut.

 $teks = ini adalah sebuah baris string \nyang terdiri atas dua baris';
 

Penggunaan String dan Numerik
Variabel scalar dapat digunakan untuk menyimpan sebuah karakter string, integer, atau sebuah floating point. Pada variabel scalar, sebuah nilai yang dimasukkan sebagai string dapat digunakan sebagai sebuah integer.

 $string = "56";
 $angka = 45;
 $hasil = $string + $angka;
 

Nilai dari $string dikonversikan menjadi sebuah integer dan ditambahkan dengan nilai pada $angka. Hasil penjumlahan disimpan pada sebuah variabel scalar 71. Bentuk lain dari konversi nilai string menjadi integer pada waktu pembacaan sebuah angka dari standar input.

 $angka = <STDIN>;
 chop ($angka);
 $hasil = $angka + 1;
 

Pada saat $angka menjadi variabel pada standar input, masukan tersebut masih dianggap sebagai sebuah string. Jika input yang dimasukkan adalah 22, variabel $angka dianggak sebagai sebuah string 22\n, di mana \n merepresentasikan karakter newline untuk memindahkan kursor ke baris baru. Fungsi chop digunakan untuk menghilangkan adanya karakter \n. String ini kemudian dikonversi menjadi angka 22 pada ekspresi aritmatika.

Initial Value pada Variabel Scalar
Pada perl, semua variabel scalar memiliki sebua initial value yang disebut dengan null string. Hal ini berarti sebuah nilai pada variabel scalar tidak perlu lagi didefinisikan.

 #!/usr/bin/perl
 $hasil = $undefine + 2;
 print ("Nilai dari hasil adalah $hasil\n");
 

Keluaran dari program ini seperti berikut.

 Nilai dari hasil adalah 2.
 

Disebabkan $undefine tidak terdefinisi, perl berasumsi bahwa nilai variabel tersebut dianggap string null. String ini dikonversikan menjadi 0, karena digunakan untuk melakukan operasi penambahan. Seperti terlihat pada keluaran di atas, hasil akhir dari operasi tersebut adalah 2.

Penulis : Dudy Rudianto <dudy@batam.com; dudy@kslonline.org>

Advertisements

Filed under: Perl, Programing

5 Responses

  1. R.3volv3.R says:

    sekedar info bang …
    chop() function gunanya untuk menghapus byte terakhir dari sebuah value .. example :
    #!/usr/bin/perl
    $coba=”sukses”;
    chop($coba);
    print $coba;

    maka output di layar akan menjadi : sukse

    jadi klo hanya ingin menghilang kan auto newline dari sebuah fungsi input gunakan : chomp()

    thanks… R.3volv3.R

  2. seseQueueno says:

    awal yang baik

  3. Mantap pisan ini tulisannya ,apalagi bagi saya yang baru mempelajari PERL programming untuk pengolahan teks khususnya…,thanx

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: