Tutorial Perl: Variabel, Array, Hash dengan Contoh Pemrograman

Apa itu Perl?

Perl adalah bahasa pemrograman dinamis tingkat tinggi, serbaguna, dan ditafsirkan. Perl adalah singkatan dari โ€œPractical Extraction and Reporting Languageโ€ meskipun tidak ada akronim untuk Perl. Bahasa ini diperkenalkan oleh Larry Wall pada tahun 1987. Bahasa Perl dirancang khusus untuk penyuntingan teks. Namun sekarang, bahasa ini banyak digunakan untuk berbagai keperluan termasuk administrasi sistem Linux, pemrograman jaringan, pengembangan web, dll.

Ikhtisar Bahasa Pemrograman

Mari kita jelaskan secara sederhana. Meskipun komputer hanya memahami angka 0 dan 1 (bahasa biner/bahasa mesin/[bahasa tingkat rendah]), sangat sulit untuk memprogram dalam bahasa biner bagi kita sebagai manusia. Perl adalah bahasa pemrograman yang menggunakan elemen bahasa alami, kata-kata yang digunakan dalam bahasa Inggris umum dan oleh karena itu, lebih mudah dipahami oleh manusia [bahasa tingkat tinggi]. Sekarang ada masalah; komputer tidak dapat memahami bahasa tingkat tinggi, yang mana kita sebagai manusia dapat dengan mudah memahaminya. Untuk itu diperlukan sesuatu yang mampu menerjemahkan bahasa tingkat tinggi ke bahasa tingkat rendah. Di sinilah penerjemah datang membantu kami. Interpreter adalah perangkat lunak yang mengubah program yang ditulis dalam bahasa tingkat tinggi ke bahasa tingkat rendah agar komputer dapat memahami dan menjalankan instruksi yang tertulis dalam program tersebut. Oleh karena itu, Perl adalah bahasa pemrograman yang ditafsirkan.

Di mana Perl digunakan?

Kekuatan bahasa skrip Perl dapat diimplementasikan di banyak bidang. Penggunaan Perl yang paling populer adalah dalam pengembangan Web. Perl juga digunakan untuk mengotomatiskan banyak tugas di server Web, dan pekerjaan administrasi lainnya, Perl dapat secara otomatis membuat email dan membersihkan sistem. Perl masih digunakan untuk tujuan aslinya yaitu mengekstrak data dan membuat laporan. Perl dapat membuat laporan tentang penggunaan sumber daya dan memeriksa masalah keamanan dalam jaringan. Karena alasan ini, Perl telah menjadi bahasa yang populer yang digunakan dalam pengembangan web, jaringan, dan bioinformatika. Selain semua ini, Perl juga dapat digunakan untuk pemrograman CGI.

Perl juga dapat digunakan untuk pembuatan & manipulasi gambar. Selain itu, jaringan melalui telnet, FTP, dll., pembuatan Antarmuka Pengguna Grafis, elektronik VLSI & untuk membuat filter email guna mengurangi praktik spam adalah beberapa contoh penggunaan Perl.

Perl juga dikenal untuk penerapan praktik OOP (pemrograman berorientasi objek) dan mendukung semua bentuk pewarisan (sederhana, jamak & berlian), polimorfisme dan enkapsulasi. Perl cukup fleksibel untuk mendukung praktik Prosedural dan OOP secara bersamaan. Perl juga memiliki modul tambahan yang memungkinkan Anda untuk menulis atau menggunakan/menggunakan kembali kode yang ditulis dalam Python, PHP, PDL, TCL, Oktaf, Java, C, C++, Basic, Ruby dan Lua dalam skrip Perl Anda. Ini berarti Anda dapat menggabungkan Perl dengan tambahan ini bahasa pemrograman daripada menulis ulang kode yang ada.

Penerapan bahasa pemrograman Perl

Penerapan Bahasa Pemrograman Perl

Mengapa menggunakan Perl?

Memang benar ada bahasa pemrograman lain yang bisa digunakan untuk melakukan semua hal yang sudah disebutkan di atas, lalu mengapa harus menggunakan Perl secara khusus? Perl sangat mudah dipelajari, terutama jika Anda memiliki latar belakang pemrograman komputer. Perl dirancang agar mudah ditulis dan dipahami manusia daripada membuatnya mudah diproses oleh komputer. Ini menggunakan ekspresi reguler. Gaya bahasa alaminya berbeda dengan bahasa pemrograman lain yang menggunakan tata bahasa dan sintaksis tertentu; oleh karena itu, Perl sangat fleksibel dan tidak memaksakan cara tertentu dalam memikirkan solusi atau masalah. Perl sangat portabel. Ia dapat berjalan pada sistem operasi apa pun yang telah menginstal interpreter Perl, jadi ia bersifat independen terhadap platform. Semua Linux OperaSistem operasi sudah terinstal dengan Perl, jadi Anda dapat langsung memulai coding Perl di Linux. Hal ini tidak seperti skrip Shell, di mana kode berubah sesuai dengan distribusi Linux yang digunakan, sehingga membuatnya semakin tidak portabel. Tugas-tugas kecil yang spesifik di Perl menjadi sangat mudah dan cepat. Sepanjang tutorial Perl untuk pemula ini, Anda akan mempelajari bagaimana Anda dapat membuat kode program kecil dan cepat untuk tugas tertentu. Mari kita ambil contoh sederhana program Hello World klasik yang digunakan untuk mulai mempelajari bahasa pemrograman apa pun yang berakar pada UNIX:

Contoh: Perl halo dunia

Contoh Sederhana Perl

#!/usr/bin/perl
print "Hello, world!";

Keluaran:

Halo dunia!

Dua baris kode di atas akan mencetak Hello, world! Bukankah itu terlalu sederhana dan cepat? Siswa dengan pengetahuan C, C++ akan mengetahui bahwa diperlukan lebih banyak baris kode untuk mendapatkan keluaran yang sama dalam bahasa tersebut.

Anda mungkin bertanya-tanya mengapa Perl sangat terkenal di Web. Ini sederhana karena sebagian besar hal yang terjadi di web adalah TEXT dan Perl sangat pandai dalam pemrosesan teks. Jika kita membandingkan Perl dengan bahasa apa pun, maka Perl akan menjadi bahasa terbaik yang baik dalam penanganan file, pemrosesan teks, dan pelaporan keluaran.

Salah satu keuntungan terbaik dari Perl adalah hal itu bebas untuk digunakan

Komunitas Perl sangat yakin bahwa perangkat lunak harus tersedia secara bebas, dapat dimodifikasi secara bebas, dan didistribusikan secara bebas. Beberapa relawan dari komunitas Perl berusaha keras untuk membuat bahasa pemrograman sebaik mungkin.

Kelebihan dan Kekurangan Perl

Pro: Cons:

Kelebihan Perl

Kekurangan Perl

  • Dibandingkan dengan bahasa Pemrograman lainnya, Perl paling kuat dalam penanganan teks dan Parsing
  • Ini adalah bahasa interpretasi dengan waktu eksekusi cepat karena tidak perlu mengkompilasi skrip Perl
  • Sederhana dan mudah diprogram dan dipahami.
  • Ini berorientasi objek.
  • Pustaka CPAN memudahkan pengembangan Perl (kita akan mempelajarinya lebih lanjut nanti dalam subjek ini).
  • Digunakan dalam pengembangan Web untuk sebagian besar Gerbang Pembayaran.
  • Digunakan dalam Otomatisasi dan untuk menguji sebagian besar hal terkait Jaringan dan Penyimpanan.
  • Ada dukungan GUI minimal dibandingkan dengan bahasa Pemrograman lainnya.
  • Anda perlu merujuk pada modul pustaka yang rumit yang tidak begitu mudah untuk dipahami (Jangan takut setelah Anda tahu cara melakukan sesuatu, semuanya akan menjadi mudah).
  • Memahami Pola yang rumit membutuhkan pengalaman.

Mari kita mulai

Dengan pengetahuan yang cukup tentang sejarah Perl dan konsep dasar pemrograman komputer yang dibutuhkan untuk membuat kode dalam Perl, sekarang saatnya kita menyelami dan memulai dengan Perl. Bab berikutnya akan mengajarkan Anda cara menyiapkan Perl di sistem Anda dan bersiap untuk perjalanan membuat kode dalam Perl. Tutorial skrip Perl ini akan menggunakan Linux sebagai OS yang akan digunakan siswa untuk membuat kode dalam Perl.

Unduh & Instal Perl โ€“ Windows, Mac & Linux

Bagaimana cara mendapatkan Perl?

Kabar baik kamu mungkin memilikinya!

Namun jika Anda belum dapat menemukannya di sistem Anda, Anda masih bisa mendapatkannya secara gratis.

Untuk mengetahui apakah Anda sudah menginstal Perl, masuk ke baris perintah dan ketik: perl -v

Cara mengunduh Perl

Perintah ini akan menampilkan versi Perl jika sudah diinstal. Dalam hal ini, versinya adalah v5.14.2. Namun jika tidakโ€ฆ jangan panikโ€ฆ

UnixTutorial PERL untuk Pemula - Panduan Lengkap Sudah terpasang Dilengkapi dengan Perl yang sudah diinstal sebelumnya, meskipun Anda mungkin perlu memperbarui ke versi terbaru.
Mac OS Tutorial PERL untuk Pemula - Panduan Lengkap Sudah terpasang OSX hadir dengan Perl yang sudah diinstal sebelumnya, meskipun Anda mungkin perlu memperbaruinya ke versi terbaru
WindowsTutorial PERL untuk Pemula - Panduan Lengkap Perlu Menginstal Tersedia dua Pilihan

  1. Strawberry Perl adalah distribusi biner open source Perl untuk Windows sistem operasi. Ini mencakup kompiler dan modul pra-instal yang menawarkan kemampuan untuk menginstal modul XS CPAN langsung dari CPAN
  2. Perl ActiveState menyediakan distribusi biner Perl (untuk banyak platform), serta manajer paket Perl (PPM) mereka sendiri

Memperbarui Perl di Linux:

Jika Anda perlu memperbarui versi Perl maka cukup masukkan satu baris perintah

sudo apt-get instal perl

dan bersantai. Sisanya akan diurus. Pastikan Anda memiliki koneksi internet aktif.

Perbarui PERL di Linux

Perbarui PERL di Linux

Instal Perl untuk Windows:

Pertama, unduh Perl Aktif dari ini link. Ikuti langkah-langkah berikut untuk menginstal ActivePerl Windows sistem. Lihat tangkapan layar di bawah untuk hal yang sama.

Langkah 1: Setelah Anda mengunduh penginstal dan memulai instalasi, Anda akan melihat jendela di bawah ini, klik berikutnya untuk melanjutkan.

Cara menginstal Perl di Windows

Langkah 2: Terima perjanjian Lisensi untuk melanjutkan instalasi.

Cara menginstal Perl di Windows

Langkah 3: Di bawah ini adalah paket berbeda yang akan diinstal. Secara default, semua akan dipilih. Satu-satunya yang berbeda adalah PPM (Perl Package Manager). Ini adalah utilitas yang disediakan oleh Perl Aktif untuk menginstal modul atau pustaka Perl eksternal di sistem Anda. Klik Berikutnya untuk melanjutkan.

Menginstal Perl aktif Windows

Langkah 4: Ini adalah berbagai jenis ekstensi Perl yang dapat digunakan untuk Perl. Kebanyakan kita akan menggunakan .Pl, .Plx dan .Pm untuk Perl. Modul Perl pada dasarnya menggunakan .Pm sebagai ekstensi file untuk merujuk ke file perpustakaan. Pilih semua opsi dan klik tombol Berikutnya.

Menginstal Perl aktif Windows

Langkah 5: Klik tombol Instal untuk melanjutkan instalasi.

Menginstal Perl aktif Windows

Langkah 6: Setelah terinstal, jalankan perintah 'Perl โ€“v' untuk memeriksa apakah Perl berhasil diinstal di sistem Anda.

Instalasi PERL aktif Windows

Ada banyak hal yang perlu didiskusikan untuk setting lingkungan Perl baik di Linux maupun Windows, karena tidak akan banyak file perpustakaan yang disertakan dalam instalasi ini. Anda perlu menginstalnya secara manual. Anda dapat menginstalnya secara manual menggunakan CPAN (Comprehensive Perl Archive Network) atau PPM yang hanya berfungsi untuk windows perl. Namun, file-file ini tidak wajib untuk memulai pengkodean dalam Perl.

Selain pengaturan windows ini Anda dapat menggunakan Windows Fitur baru 10 dari subsistem Linux di Windows & menggunakannya untuk menjalankan kode Perl

Program Perl Pertama

Hello world!

Contoh Perl: Halo Dunia

#!/usr/bin/perl -w
#this is just a commentโ€ฆ
print "Hello World";

Jangan khawatir jika Anda tidak memahami teks ini. Semuanya akan segera menjadi jelas. Mari kita lihat per barisnya:

#!/usr/bin/perl		

Ini memberitahu Operating Sistem untuk mengeksekusi file ini dengan program yang terletak di /usr/bin/Perl Beberapa IDE tidak memerlukan baris ini. Jika ini penting, Anda harus menulis di sini jalur menuju penerjemah Anda. Ingat! Baris khusus ini harus berada di awal program Anda dan harus dimulai dari #! gunakan peringatan; Ini adalah perintah khusus lainnya yang memerintahkan penerjemah untuk menampilkan peringatan apa pun, yaitu -w yang mengaktifkan peringatan secara global.

print "Hello World";		

Instruksi pencetakan menulis teks ke layar. Titik koma di akhir baris memberi tahu juru bahasa Perl bahwa instruksi telah selesai. Anda harus memberi tanda titik koma di akhir setiap instruksi dalam kode Perl. Perhatikan tanda petik (โ€œ). Ini diperlukan untuk instruksi pencetakan. Simpan skrip di atas sebagai firstprog.pl

On Windows

Jika Anda sudah menginstal Strawberry, Anda cukup mengklik Run. Anda juga dapat menjalankan antarmuka baris perintah dan menulis di konsol:

C:\> perl path\firstprog.pl		

atau, jika perl.exe tidak ada di jalur Anda:

C:\> c:\perl\bin\perl.exe firstprog.pl		

Di Linux/Unix

Anda hanya perlu membuka Terminal dan menulis:

perl firstprog.pl		

Jika Anda tidak dapat menjalankan program, pastikan Anda memenuhi syarat untuk menjalankannya. Ketik di Terminal:

chmod +x firstprog.pl		

Program Anda sekarang dapat dieksekusi dan siap dijalankan. Untuk mengeksekusi, tulis:

./firstprog		

Instal modul cpan minus

Modul adalah sekumpulan kode yang digunakan untuk melakukan tugas yang menjalankan operasi umum dalam beberapa program. Jika Anda menggunakan modul Perl, Anda tidak perlu menulis ulang kode untuk menjalankan operasi yang sama. Perl dapat memanfaatkan pustaka kode eksternal tersebut. Salah satu pustaka terbaik adalah CPAN. CPAN adalah singkatan dari Comprehensive Perl ArchiJaringan ve dan berisi sejumlah besar modul Perl untuk Anda gunakan. Ini adalah komunitas atau jaringan dari sejumlah besar pengembang yang menyumbangkan modul tersebut. Dengan memasang dukungan untuk modul CPAN di modul Perl Anda, Anda dapat memanfaatkan modul CPAN dan mempermudah pekerjaan Anda. Sebagian besar modul Perl ditulis dalam Perl, beberapa menggunakan XS (ditulis dalam C) sehingga memerlukan kompiler C (mudah untuk menyiapkan ini โ€“ jangan panik. Modul mungkin memiliki ketergantungan pada modul lain (hampir selalu pada CPAN) dan tidak dapat diinstal tanpa modul tersebut (atau tanpa versi tertentu). Sebaiknya baca dokumentasi secara menyeluruh untuk opsi di bawah ini. Banyak modul pada CPAN sekarang memerlukan versi Perl terbaru (versi 5.8 atau lebih tinggi). Instal cpanminus skrip untuk mendapatkan, membongkar, membangun, dan menginstal modul dari CPAN untuk mempermudah pemasangan modul lain (Anda akan berterima kasih kepada kami nanti). Untuk Menginstal Aplikasi-cpanminus modul perl, pada baris perintah ketik:

cpan App::cpanminus

cpan App::cpanminus Pastikan Anda memiliki koneksi internet saat modul Perl sedang diunduh dan diinstal.

Memasang modul cpan minus

Sekarang instal modul apa pun:

cpan โ€“i <Module_Name>.		

Mari kita lihat contoh pemasangan modul File::Data (Ini adalah Antarmuka untuk mengakses Data File).

Memasang modul cpan minus

Variabel Perl

Sekarang, kita akan berbicara tentang variabel. Anda dapat membayangkan variabel seperti wadah yang menampung satu atau lebih nilai. Setelah didefinisikan, nama variabelnya tetap sama, namun nilai atau nilainya berubah berulang kali.

Ada 3 Jenis variabel:

Jenis variabel di Perl

Jenis Variabel di Perl

Yang paling mudah adalah skalar, dan inilah topik kita hari ini

Variabel Skalar

Variabel jenis ini mempunyai nilai tunggal.

Namanya dimulai dengan tanda dolar dan pengenal Perl (itu adalah nama variabel kita).

Variabel skalar di Perl

Variabel skalar di Perl

Konvensi penamaan

Jika Anda familiar dengan bahasa pemrograman lain, Anda pasti tahu bahwa ada aturan tertentu tentang penamaan variabel. Demikian pula, Perl memiliki tiga aturan untuk memberi nama skalar.

  1. Semua nama skalar akan dimulai dengan $. Mudah diingat untuk mengawali setiap nama dengan $. Anggap saja sebagai $scalar.
  2. Seperti PHP. setelah karakter pertama $, yang khusus di Perl, karakter alfanumerik yaitu a sampai z, A sampai Z dan 0 sampai 9 diperbolehkan. Karakter garis bawah juga diperbolehkan. Gunakan garis bawah untuk membagi nama variabel menjadi dua kata. 'Tetapi karakter pertama tidak boleh berupa angka'
  3. Meskipun angka dapat menjadi bagian dari nama, angka tidak dapat muncul langsung setelah $. Ini berarti bahwa karakter pertama setelah $ akan berupa alfabet atau garis bawah. Karakter yang berasal dari C/C++ latar belakang harus segera dapat mengenali kesamaannya. Contoh

Contoh Perl:

$var;
$Var32;
$vaRRR43;
$name_underscore_23;

Namun, ini bukanlah nama variabel skalar yang sah.

mohohoh                                              # $ character is missing 
$                                                    # must be at least one letter 
$47x                                           # second character must be a letter
$variable!                                 # you can't have a ! in a variable name

Aturan umum mengatakan, ketika Perl hanya memiliki satu sesuatu, itu adalah skalar. Skalar dapat dibaca dari perangkat, dan kita dapat menggunakannya untuk program kita.

Dua Jenis Tipe Data Skalar

  1. Numbers
  2. String

Numbers:

Dalam jenis data skalar ini kita dapat menentukan:

  • bilangan bulat, sederhananya bilangan bulat, seperti 2, 0, 534
  • angka floating-point, ini angka riil, seperti 3.14, 6.74, 0.333

Variabel angka di Perl

Perhatian: Secara umum, interpreter Perl melihat bilangan bulat seperti angka floating point. Misalnya, jika Anda menulis 2 dalam program Anda, Perl akan melihatnya seperti 2.0000

Literal bilangan bulat:

Terdiri dari satu digit atau lebih, yang dapat didahului dengan tanda plus atau minus dan mengandung garis bawah.

Contoh Perl:

0;
-2542;
4865415484645          #this also can be written with underscores (for clarity) : 4_865_415_484_645

Seperti yang Anda lihat- tidak ada yang istimewa. Tapi percayalah, ini adalah jenis skalar yang paling umum. Mereka ada dimana-mana.

Literal titik mengambang:

Terdiri dari angka, opsional minus, koma desimal, dan eksponen.

Contoh Perl:

3.14;
255.000;
3.6e20;                                  # it's 3.6 times 10 to the 20th
-3.6e20;                                 # same as above, but negative
-3.6e-20;                                #it's negative 3.6 times 10 to the -20th
-3.6E-20;                                #we also can use E โ€“ this means the same the lowercase version -3.6e-20

Literal titik mengambang di Perl

Representasi Oktal, Heksadesimal, dan Biner:

Ini alternatif dari sistem desimal. Izinkan saya menunjukkan representasi Oktal, Heksadesimal, dan Biner. Tabel singkat menyajikan semua informasi penting tentang gaya aneh ini:

Perwakilan Mendasarkan Dilanjutkan oleh
Oktal 8 0 (nol)
Heksadesimal 16 0x
Biner 2 0b

Contoh Perl:

255;                               # 255 in decimal notation
0377;                                   # 255 in octal notation
0xff;                                   # 255 in hexadecimal notation
0b11111111;                             # 255 in binary notation

Semua nilai untuk Perl memiliki arti yang sama. Perl tidak menyimpan nilai dalam format yang sama. Ini akan mengkonversi nilai heksadesimal, biner, oktal ke desimal secara internal.

Penugasan adalah operasi yang paling umum pada skalar, dan sangat sederhana. Perl menggunakan tanda sama dengan untuk itu. Ia mengambil nilai ekspresi dari sisi kanan dan meletakkan nilai ini ke variabel kita.

Mari kita lihat contohnya:

$size=15;             # give $size value of 15
$y = -7.78;           # give $y value of -7.78

Terlebih lagi Anda dapat memasukkan variabel tidak hanya angka, tetapi juga ekspresi.

$z = 6 + 12               # give $z value of 18

String

String: Ini juga merupakan jenis skalar yang sangat sederhana.

Panjang maksimum string di Perl bergantung pada jumlah memori yang dimiliki komputer. Tidak ada batasan ukuran string, jumlah karakter, simbol, atau kata berapa pun dapat membentuk string Anda. String terpendek tidak memiliki karakter. Paling lama bisa mengisi seluruh memori sistem. Program Perl dapat ditulis seluruhnya dalam kumpulan karakter ASCII 7-bit. Perl juga mengizinkan Anda menambahkan kumpulan karakter 8-bit atau 16-bit alias. karakter non-ASCII dalam string literal. Perl juga menambahkan dukungan untuk Unicode UTF-8.

Jenis string di Perl

Seperti angka, ada dua jenis string yang berbeda:

  • Literal string tanda kutip tunggal
  • Double mengutip string literal

Literal string dengan tanda kutip tunggal

Tanda kutip tunggal digunakan untuk mengapit data yang ingin Anda pahami secara harfiah. Contoh singkat dan semuanya harus jelas:

Contoh Perl:

#!/usr/bin/perl 
$num = 7;
$txt = 'it is $num';
print $txt;

Keluaran:

itu adalah $angka

Di sini karena nilai tanda kutip tunggal $num in tidak diambil dan karakter literal '$','n', 'u' & 'm' ditambahkan ke nilai $txt

Double-literal string yang dikutip

Double tanda kutip digunakan untuk melampirkan data yang perlu diinterpolasi sebelum diproses. Itu berarti bahwa karakter dan variabel yang lolos tidak dimasukkan begitu saja ke dalam operasi selanjutnya, tetapi dievaluasi saat itu juga. Karakter lolos dapat digunakan untuk menyisipkan baris baru, tab, dll.

Contoh Perl:

$num = 7; 
$txt = "it is $num"; 
print $txt;

Keluaran:

itu adalah 7

Di sini karena tanda kutip ganda nilai $num diambil ditambahkan ke nilai $txt

Double-tanda kutip menginterpolasi variabel skalar dan array, tetapi bukan hash. Di sisi lain, Anda dapat menggunakan tanda kutip ganda untuk menginterpolasi irisan array dan hash.

Misterius \n

Perhatikan program berikut ini

Contoh Perl:

print "hello \n";

Keluaran:

halo

Perl tidak hanya menampilkan 'halo\n', tetapi hanya 'halo'. Mengapa? Karena '\n' adalah tanda khusus dan berarti Anda ingin menuju ke baris baru sambil menampilkan teks di program Anda. cetak โ€œhalo\n baris baruโ€; Pertanyaan selanjutnya- apakah ada tanda khusus lainnya? Iya itu mereka! Tapi jangan khawatir- hanya beberapa. Periksa tabel di bawah ini

Membangun Description
\n garis baru
\r kembali
\t tab
\f umpan bentuk
\b backspace
\a bel
\e melarikan diri
\ 007 nilai ASCII oktal apa pun (di sini, 007 = bel)
\x7f nilai hex apa pun (di sini, 7f = hapus)
\\ garis miring terbalik
\ " kutipan ganda
\l huruf kecil huruf berikutnya
\L huruf kecil semua huruf berikut sampai \E
\u huruf besar huruf berikutnya
\U huruf kapital semua huruf berikut sampai \E
\E Hentikan \L, \U

Saya tahu, tidak 'hanya beberapa'โ€ฆ Tapi percayalah, Anda harus tahu saja

Variabel String

Ini adalah operasi yang sama, yang kita lihat dalam penugasan angka. Perl mengambil string dari sisi kanan tanda sama dengan dan meletakkan string ini ke dalam variabel.

Contoh Perl:

$string = 'tutorial';                                      # give $string the eight-character string 'tutorial'
print $string;
$string = $size + 3 ;                                           # give $string the current value of $size plus 3
print $string;
$string = $ string * 5;                                         # multiplied $string by 5
print $string;

Keluaran:

panduan315

Seperti yang Anda lihat, Anda dapat memasukkan angka dan string dalam variabel yang sama. Tidak ada kelas variabel.

Penggabungan String (titik):

Operator penggabungan โ€œ.โ€ menyatukan dua atau lebih string. Ingat! Jika string tersebut berisi tanda kutip, carriage return, garis miring terbalik, semua karakter khusus ini perlu di-escape dengan garis miring terbalik.

Contoh variabel Perl ' ':

#!/usr/bin/perl
$a = "Tom is";
$b = "favorite cat";
$c = $a ." mother's ". $b;
print $c;

Keluaran:

Tom adalah kucing kesayangan ibu

Senar

โ€œ$aโ€, โ€œ$bโ€, dirangkai dan disimpan dalam โ€œ$cโ€ menggunakan operator โ€œ.โ€

Pada akhirnyaโ€ฆ

Konversi Antara Numbers dan String:

Seperti yang Anda ketahui, Perl secara otomatis mengonversi antara angka ke string sesuai kebutuhan. Bagaimana Perl tahu, apa yang kita butuhkan saat ini? Ini sederhana - semuanya tergantung pada operator (kita akan membahas operator nanti, sekarang, terima saja ada banyak operator, berbeda untuk angka dan string) Jika operator mengharapkan angka, Perl akan menggunakan nilai tersebut sebagai angka. Jika operator mengharapkan string, Perl akan menggunakan nilai tersebut sebagai string. Dengan kata lain - Anda tidak perlu khawatir tentang konversi semacam ini. Contoh singkat dan semuanya akan jelas:

Contoh Perl:

$string = "43";
$number = 28;
$result = $string + $number;
print $result;

Keluaran:

71

nilai $string diubah menjadi bilangan bulat dan ditambahkan ke nilai $number.

Hasil penjumlahan, 71, ditugaskan ke $result.

Cakupan variabel โ€“ Pengubah Akses

Kita dapat mendeklarasikan skalar di mana saja dalam program. Namun Anda perlu menentukan pengubah akses

Ada 3 jenis pengubah

  1. my
  2. lokal
  3. kami

Saya: Dengan menggunakan ini, Anda dapat mendeklarasikan variabel apa pun yang spesifik di dalam blok. yaitu di dalam kurung kurawal.

#!/usr/bin/perl 
my $var=5;
if(1)
{ 
my $var_2 =$var;
}
print $var_2;

Tidak Ada Output

Output dari program ini tidak akan ada apa-apanya!

Tutorial PERL untuk Pemula - Panduan Lengkap

Pada contoh di atas, Anda akan melihat ada dua variabel yang dideklarasikan, yang satu berada di dalam blok if ($var_2) dan yang lainnya berada di luar blok If ($var). Variabel yang dideklarasikan di luar blok akan dapat diakses oleh blok if, tetapi variabel yang dideklarasikan di dalam blok if tidak dapat diakses oleh program luar.

Lokal: Dengan menggunakan ini kita sebenarnya dapat menutupi nilai variabel yang sama ke nilai yang berbeda tanpa benar-benar mengubah nilai asli variabel tersebut, misalkan kita memiliki variabel $a yang nilainya ditetapkan 5, Anda sebenarnya dapat mengubah nilai variabel itu dengan mendeklarasikan ulang variabel yang sama menggunakan kata kunci lokal tanpa mengubah nilai asli variabel yaitu 5. Mari kita lihat cara kerjanya dengan sebuah contoh.

#!/usr/bin/perl
$var = 5;
{
local $var = 3;
print "local,\$var = $var \n";
}
print "global,\$var = $var \n";

Output dari program di atas akan seperti ini.

lokal, $var = 3

global, $var = 5

Dengan cara ini kita dapat mengubah nilai variabel tanpa mempengaruhi nilai aslinya.

Our: Setelah sebuah variabel dideklarasikan dengan pengubah akses โ€œourโ€, variabel tersebut dapat digunakan di seluruh paket. Misalkan Anda memiliki modul Perl atau paket test.pm yang memiliki variabel yang dideklarasikan dengan cakupan kami. Variabel ini dapat diakses dalam skrip apa pun yang akan menggunakan paket tersebut.

Jika Anda serius tentang pemrograman di Perl, Anda harus memulai program Anda dengan

#!/usr/local/bin/Perl

gunakan ketat;

Ini akan membantu Anda menulis kode yang lebih baik dan bersih. 'use strict' mengaktifkan pragma ketat yang akan membuat Anda mendeklarasikan variabel Anda dengan kata kunci saya.

Ini adalah praktik pemrograman yang bagus

#!/usr/local/bin/perl
use strict;
$var = 10;
print "$var";

Hasil: Kesalahan

#!/usr/local/bin/perl
use strict;
my $var = 10;
print "$var";

Keluaran:

10

Susunan Perl

Apa itu Perl Array?

Array adalah jenis variabel khusus yang menyimpan data dalam bentuk daftar; setiap elemen dapat diakses menggunakan nomor indeks yang akan unik untuk setiap elemen. Anda dapat menyimpan angka, string, nilai mengambang, dll. dalam array Anda. Ini terlihat bagus, Jadi bagaimana cara membuat array di Perl? Di Perl, Anda dapat mendefinisikan array menggunakan karakter '@' diikuti dengan nama yang ingin Anda berikan. Mari kita pertimbangkan untuk mendefinisikan array di Perl.

@array saya;

Beginilah cara kami mendefinisikan array di Perl; Anda mungkin berpikir bagaimana kita perlu menyimpan data di dalamnya. Ada berbagai cara untuk menyimpan data dalam array. Ini tergantung pada bagaimana Anda akan menggunakannya.

my @array=(a,b,c,d);
print @array;

Keluaran:

abcd

Ini adalah array dengan 4 elemen di dalamnya.

Indeks array dimulai dari 0 dan diakhiri dengan ukuran maksimum yang dinyatakan, dalam hal ini ukuran indeks maksimal adalah 3.

Contoh Array Perl

Contoh Array Perl

Anda juga bisa mendeklarasikan array dengan cara di atas; satu-satunya perbedaan adalah, ia menyimpan data ke dalam array dengan mempertimbangkan spasi sebagai pembatas. Di sini, qw() berarti kata kutipan. Arti penting dari fungsi ini adalah untuk menghasilkan daftar kata. Anda dapat menggunakan qw dalam berbagai cara untuk mendeklarasikan array.

@array1=qw/a b c d/;
@array2= qw' p q r s'; 
@array3=qw { v x y z};
print @array1;
print @array2;
print @array3;

Keluaran:

abcdpqrsvxyz

Misalkan Anda ingin memberi nilai pada 5th elemen array, bagaimana kita akan melakukan itu.

$array[4] ='e';

Array Berurutan

Array sekuensial adalah array tempat Anda menyimpan data secara berurutan. Misalnya, Anda ingin menyimpan angka atau huruf 1-10 dalam sebuah array. Daripada mengetik semua huruf, Anda dapat mencoba sesuatu seperti di bawah ini โ€“

@numbers= (1..10);
print @numbers;                   #Prints numbers from 1 to 10;

Keluaran:

12345678910

Ukuran Array Perl

Kami memiliki array yang sudah tersedia, dan Anda tidak tahu berapa ukuran array itu, jadi apa cara yang mungkin untuk menemukannya.

@array= qw/a b c d e/;
print $size=scalar (@array);

Bisakah kita mendapatkan ukuran array tanpa menggunakan fungsi? Ya kita bisa.

@array= qw/a b c d e/;
print $size=scalar (@array);
print "\n";
print $size=$#array + 1;                           # $#array will print the Max Index of the array, which is 5 in this case

Keluaran:

5

5

Array Dinamis

Metode mendeklarasikan array di atas disebut array statis, di mana Anda mengetahui ukuran array.

Apa itu Array Dinamis?

Array dinamis adalah array yang Anda deklarasikan tanpa menentukan nilai apa pun di dalamnya. Jadi kapan tepatnya kita menyimpan nilai dalam array itu? Sederhananya, kami menyimpannya selama run time. Berikut adalah program sederhana untuk itu.

Kami akan menggunakan beberapa fungsi Perl bawaan untuk melakukan tugas ini.

my $string="This is a kind of dynamic array";
my @array;
@array=split('a',$string);
foreach(@array)
{
print "$_ \nโ€;
# This is a special variable which stores the current value.
}

Keluaran:

Ini adalah

semacam din

mic

rr

y

Fungsi split membagi konten string menjadi array berdasarkan pembatas yang disediakan padanya. Fungsi ini juga akan menghilangkan pembatas dari string, dalam hal ini adalah 'a';

Push, Pop, shift, unshift untuk array Perl:

Fungsi-fungsi ini dapat digunakan di Perl untuk menambah/menghapus elemen array.

  • Perl Push: menambahkan elemen array di akhir array yang ada.
  • Perl Pop: menghapus elemen terakhir dari array.
  • Perl Shift: menghapus elemen pertama dari array.
  • Perl Unshift: menambahkan elemen di awal array.

Fungsi array di Perl

Mari kita lihat contoh di mana kita bisa menggunakan fungsi di bawah ini.

@days = ("Mon","Tue","Wed");
print "1st : @days\n";
push(@days, "Thu");                                             # adds one element at the end of an array
print "2nd when push : @days\n";
unshift(@days, "Fri");                                          # adds one element at the beginning of an array
print "3rd when unshift : @days\n";
pop(@days);
print "4th when pop : @days\n";                                 # remove one element from the last of an array.
shift(@days);                                                   # remove one element from the beginning of an array.
print "5th when shift : @days\n";

Keluaran:

1 : Senin Selasa Rabu

Ke-2 saat push : Sen Sel Rab Kam

Ke-3 saat tidak bergeser : Jum Sen Sel Rab Kam

Tanggal 4 saat pop : Jum Sen Sel Rabu

5 saat shift : Sen Sel Rab

Perl Hash

Mengapa kita membutuhkan Hash?

Kita telah mempelajari tentang skalar dan array pada bagian sebelumnya.

Apa sebenarnya fungsi skalar? Ini hanya menyimpan bilangan bulat dan string.

Apa sebenarnya fungsi array? Ini adalah kumpulan skalar, tempat Anda mengakses setiap elemen array menggunakan indeks. Namun, apakah menggunakan array saat Anda memiliki ratusan dan ribuan catatan merupakan ide yang bagus? Kita akan melupakan indeks mana yang memiliki nilai apa. Untuk mengatasi situasi ini kita memiliki sesuatu seperti perl hash.

Apa itu Hash?

Sebuah hash juga dapat menampung skalar sebanyak yang dapat ditampung oleh array. Satu-satunya perbedaan adalah kami tidak memiliki indeks apa pun, melainkan kami memiliki kunci dan nilai. Sebuah hash dapat dideklarasikan, dimulai dengan % diikuti dengan nama hash. Mari kita lihat contoh bagaimana kita dapat mendefinisikan hash Perl dan bagaimana kita dapat membedakannya dari array

Perhatikan contoh tiga orang dan usia mereka direpresentasikan dalam sebuah array.

@array=('Sainath',23,'Krishna',24,'Shruthi',25);        #This is how an array looks.
print @array;

Keluaran:

Sainath33Krishna24Shruthi25

Dengan cara ini sulit untuk mengetahui usia individu karena kita perlu mengingat lokasi indeks nama dan usia semua orang. Mungkin sederhana jika Anda memiliki 3 nama, tetapi ketika Anda memiliki 1000 nama atau lebih? Kamu tahu jawabannya.

Hash di Perl

Hal ini bisa kita atasi dengan menggunakan hash.

Contoh Hash:

print %hash=( 'Sainath' => 23, 'Krishna' => 24, 'Shruthi' => 25); # This is how we create a hash.
print %hash=('Sainath',23,'Krishna',24,'Shruthi',25);# This way of assigning is called list.

Keluaran:

Sainath33Krishna24Shruthi25Sainath33Krishna24Shruthi25

Kami sekarang telah mendeklarasikan hash, bagus!! Tapi, bagaimana cara kita mengakses atau mencetaknya? Setiap elemen dalam hash harus diakses dengan kunci terkait yang akan diberi nilai. Jadi, ada pemetaan satu-satu antara masing-masing kunci dan nilai dalam hash.

Untuk mencetak usia seseorang, Anda hanya perlu mengingat nama orang tersebut.

print $hash{'Krishna'};          # This how we should access a hash. Key enclosed within {}.

Anda mungkin bertanya-tanya mengapa saya menggunakan $hash{KeyName}, ingat hash adalah kumpulan skalar lagi. Jadi, kita bisa menggunakan $ yang mewakili skalar untuk mengakses setiap elemen hash.

Contoh Hash di Perl

Catatan: Setiap Kunci dalam hash harus unik atau akan menggantikan nilai Anda, yang telah ditetapkan sebelumnya.

Bagaimana kita bisa menetapkan hash ke hash lain? Sederhana, dengan cara yang sama seperti yang kita lakukan

Kami juga dapat mencetak seluruh hash.

%hash=( 'Tom' => 23);
%newHash=%hash; # Assigning hash to a new hashprint %newHash; 
print %newHash;

Keluaran:

Tom23

Tambahkan Perl Hash

Seperti yang Anda lihat, kita sudah memiliki hash %newHash, dan sekarang kita perlu menambahkan lebih banyak entri ke dalamnya.

$newHash{'Jim'}=25;
$newHash{'John'}=26;
$newHash{'Harry'}=27;
print %newHash;

Keluaran:

Jim25John26Harry27

Kunci Hapus Perl

Anda mungkin ingin menghapus entri dari hash. Inilah cara kita melakukan hal tersebut.

delete $newHash{'Jim'};#This will delete an entry from the hash.

Hapus adalah fungsi bawaan Perl. Di sini, kita akan melihat contoh penetapan hash ke sebuah array.

@array=%newHash;
print "@array";

Catatan: Setiap kali Anda mencetak hash atau saat Anda menyimpan hash ke dalam array. Urutannya mungkin selalu berbeda. Itu tidak selalu sama.

Kita hanya dapat menetapkan kunci atau nilai hash ke sebuah array.

@arraykeys= keys(%newHash);
@arrayvalues=values(%newHash);
print "@arraykeys\n";
print "@arrayvalues\n";    # \n to print new line.		

Untuk menghapus semua entri dalam hash, kita dapat langsung menetapkan hash ke null.

%newHash=();# Ini akan mendefinisikan ulang hash tanpa entri.

Pernyataan Bersyarat Perl

Kita bisa menggunakan Pernyataan kondisional di Perl. Jadi, apakah pernyataan bersyarat itu? Pernyataan bersyarat adalah pernyataan di mana Anda benar-benar memeriksa beberapa keadaan yang harus dipenuhi dalam kode Anda.

Pikirkan sebuah contoh, Anda membeli beberapa buah, dan Anda tidak suka harganya lebih dari 100 dolar. Jadi aturannya di sini adalah 100 dolar.

Perl mendukung dua jenis pernyataan kondisional; mereka adalah jika dan kecuali.

Perl Jika

Jika blok kode akan dieksekusi, bila kondisinya benar.

Pernyataan Bersyarat Perl

my $a=5;
if($a==5)
{
   print "The value is $a";
}

Keluaran:

5

Perl Jika Lain

Ini terlihat bagus. Mari kita pikirkan situasi di mana $a bukan 5.

my $a=10;
if($a==5)
{
    print "The values is $a ---PASS";
}
else
{
    print "The value is $a ---FAIL";
}

Keluaran:

Nilainya 10 โ€”GAGAL

Dengan cara ini kita hanya dapat mengontrol satu kondisi pada satu waktu. Apakah ini sebuah batasan? Tidak, Anda juga dapat mengontrol berbagai kondisi menggunakan ifโ€ฆ elsifโ€ฆ else.

Perl Lain Jika

my $a=5;
if($a==6)
{
    print "Executed If block -- The value is $a";
}
elsif($a==5)
{
    print "Executed elsif block --The value is $a";
}
else
{
    print "Executed else block โ€“ The value is $a";
}

Keluaran:

Blok elsif yang dieksekusi โ€“Nilainya 5

Dalam kasus di atas, blok elsif akan dieksekusi karena $a sama dengan 5.

Mungkin ada situasi di mana blok kode if dan elsif akan gagal. Dalam skenario ini, blok kode lain akan dieksekusi. Anda sebenarnya dapat menghilangkan pemeriksaan kode lain jika Anda tidak ingin memasukkannya.

Perl Bersarang Jika

Dalam hal ini, Anda dapat menggunakan blok kode if dalam satu blok kode if lagi.

my $a=11; #Change values to 11,2,5 and observe output
if($a<10){
  print "Inside 1st if block";
        if($a<5){
                print "Inside 2nd if block --- The value is $a";
        }
        else{
                print " Inside 2nd else block --- The value is $a";
        }
	}
	else{
        	print "Inside 1st else block โ€“ The value is $a";
    }

Keluaran:

Di dalam blok else pertama โ€“ Nilainya adalah 1

Jalankan kode yang sama dengan mengubah nilai $a; Anda bisa mengetahui sisanya.

Perl Kecuali

Anda sudah mendapatkan gambaran bagaimana if (Jika kondisinya benar maka blok kode akan dieksekusi). Kecuali kebalikan dari jika, kecuali blok kode akan dieksekusi jika kondisinya salah.

my $a=5;
unless($a==5)
{
   print "Inside the unless block --- The value is $a";
}
else
{
   print "Inside else block--- The value is $a";
}

Keluaran:

Di dalam blok else pertama โ€“ Nilainya adalah 1

Coba tebak apa hasilnya. Kamu benar!!!!!. Outputnya akan berupa pernyataan print dari blok else. Karena kondisi di blok kode kecuali benar, ingat blok kecuali hanya akan dieksekusi jika kondisinya salah. Ubah nilai $a dan jalankan kodenya, Anda akan melihat perbedaannya.

Perl Menggunakan jika

$a= " This is Perl";
if($a eq "SASSDSS"){
print "Inside If Block";
}
else
{
print "Inside else block"
}

Keluaran:

Di dalam blok lain

Menggunakan kecuali

$a= " This is Perl";
unless($a eq "SASSDSS"){
print "Inside unless Block";
}
else
{
print "Inside else block"
}

Keluaran:

Di dalam kecuali Blokir

Perl Loops โ€“ Struktur Kontrol

Perl mendukung struktur kontrol yang mirip dengan bahasa pemrograman lainnya. Perl mendukung empat jenis struktur kontrol untuk, foreach, while dan hingga. Kami menggunakan pernyataan ini untuk mengeksekusi beberapa kode berulang kali.

Untuk lingkaran Perl

Untuk blok kode akan dijalankan hingga kondisi terpenuhi. Mari kita ambil contoh bagaimana Perl mengulang sebuah array.

my @array=(1..10);
for(my $count=0;$count<10;$count++)
{
    print "The array index $count value is $array[$count]";
    print "\n";
}

Keluaran:

Nilai indeks array 0 adalah 1

Nilai indeks array 1 adalah 2

Nilai indeks array 2 adalah 3

Nilai indeks array 3 adalah 4

Nilai indeks array 4 adalah 5

Nilai indeks array 5 adalah 6

Nilai indeks array 6 adalah 7

Nilai indeks array 7 adalah 8

Nilai indeks array 8 adalah 9

Nilai indeks array 9 adalah 10

Di sini, dalam ekspresi for (), ada banyak pernyataan yang disertakan. Ada arti masing-masingnya.

untuk ( inisialisasi ; kondisi; penambahan)

Berikut adalah cara lain untuk menggunakan for.

for(1..10)
{
    print "$_ n";
    print "\n";
}

Keluaran:

1n

2n

3n

4n

5n

6n

7n

8n

9n

10n

Perl Foreach

Pernyataan for dapat digunakan dengan cara yang sama seperti for; perbedaan utamanya adalah kami tidak memiliki pemeriksaan dan penambahan kondisi apa pun dalam hal ini.

Mari kita ambil contoh yang sama dengan foreach perl.

my @array=(1..10);
foreach my $value (@array)
{  
	print " The value is $value\n";
}

Keluaran:

Nilainya adalah 1

Nilainya adalah 2

Nilainya adalah 3

Nilainya adalah 4

Nilainya adalah 5

Nilainya adalah 6

Nilainya adalah 7

Nilainya adalah 8

Nilainya adalah 9

Nilainya adalah 10

Foreach mengambil setiap elemen array dan memberikan nilai tersebut ke $var untuk setiap iterasi. Kita juga dapat menggunakan $_ untuk hal yang sama.

my @array=(1..10);
foreach(@array)
{
    print " The value is $_ \n"; # This is same as the above code.
}

Keluaran:

Nilainya adalah 1

Nilainya adalah 2

Nilainya adalah 3

Nilainya adalah 4

Nilainya adalah 5

Nilainya adalah 6

Nilainya adalah 7

Nilainya adalah 8

Nilainya adalah 9

Nilainya adalah 10

Ini terlihat bagus untuk mengakses array. Bagaimana dengan Hash, bagaimana kita bisa mendapatkan kunci dan nilai hash menggunakan foreach?

Kita dapat menggunakan foreach untuk mengakses kunci dan nilai hash dengan mengulanginya.

Untuk perulangan di Perl

my %hash=( 'Tom' => 23, 'Jerry' => 24, 'Mickey' => 25);
foreach my $key (keys %hash)
{
print "$key \n";
}

Keluaran:

Mickey

Tom

Jerry

Anda mungkin bertanya-tanya, Mengapa kami menggunakan Kunci di foreach(). Kunci adalah fungsi bawaan Perl di mana kita dapat dengan cepat mengakses kunci hash. Bagaimana dengan nilai? Kita dapat menggunakan fungsi nilai untuk mengakses nilai hash.

my %hash=( 'Tom' => 23, 'Jerry' => 24, 'Mickey' => 25);
foreach my $value(values %hash) # This will push each value of the key to $value
{
	 print " the value is $value \n";
}

Keluaran:

nilainya adalah 24

nilainya adalah 23

nilainya adalah 25

Perl Sementara

Perl While loop adalah struktur kontrol, dimana blok kode akan dieksekusi hingga kondisinya benar.

Blok kode akan keluar hanya jika kondisinya salah.

Mari kita ambil contoh untuk Perl While loop.

Perulangan sementara di Perl

Berikut adalah masalah yang memerlukan masukan dari pengguna dan tidak akan keluar sampai nomor yang diberikan adalah '7'.

#!/usr/bin/perl
$guru99 = 0;
$luckynum = 7;
print "Guess a Number Between 1 and 10\n";
$guru99 = <STDIN>;
while ($guru99 != $luckynum)
{
	print "Guess a Number Between 1 and 10 \n ";
	$guru99 = <STDIN>;
}
print "You guessed the lucky number 7"

Keluaran:

Tebak Angka Antara 1 dan 10

9

Tebak Angka Antara 1 dan 10

5

Tebak Angka Antara 1 dan 10

7

Anda menebak angka keberuntungan 7

Pada contoh di atas, kondisi while tidak akan benar jika kita memasukkan input selain '7'.

Jika Anda melihat cara kerja while di sini, blok kode hanya akan dieksekusi jika kondisi beberapa saat benar.

Perl lakukan sementara

Perulangan do while akan dijalankan setidaknya satu kali meskipun kondisi di bagian while salah.

Mari kita ambil contoh yang sama dengan menggunakan do while.

$guru99 = 10;
 do {
 print "$guru99 \n";
 $guru99--;
 } 
 while ($guru99 >= 1);
 print "Now value is less than 1";

Keluaran:

10

9

8

7

6

5

4

3

2

1

Sekarang nilainya kurang dari 1

Perl sampai

Sampai blok kode mirip dengan kecuali dalam pernyataan kondisional. Di sini, blok kode akan dieksekusi hanya jika kondisi di blok sampai salah.

Mari kita ambil contoh yang sama yang kita gunakan beberapa waktu lalu.

Berikut adalah masalah, yang memerlukan masukan dari pengguna dan tidak akan keluar sampai nama diberikan selain 'sai'.

print "Enter any name \n";
 my $name=<STDIN>;
 chomp($name);
 until($name ne 'sai')
 {
    print "Enter any name \n";
    $name=<STDIN>;
    chomp($name);
 }

Keluaran:

Masukkan nama apa saja, Sai

Perl lakukan-sampai:

Lakukan hingga hanya dapat digunakan ketika kita membutuhkan kondisi yang salah, dan kondisi tersebut harus dijalankan setidaknya sekali.

print "Enter any name \n";
 my $name=<STDIN>;
 chomp($name);
 do
 {
     print "Enter any name \n";
     $name=<STDIN>;
    chomp($name);
 }until($name ne 'sai');

Keluaran:

Masukkan nama apa pun Howard

Masukkan nama apa pun Sheldon

Masukkan nama apa saja, Sai

Jalankan kode contoh while, do- while , hingga dan do-until untuk melihat perbedaannya.

Perl Operator

Apa itu Operauntuk?

Operator dalam bahasa komputer menunjukkan tindakan yang dapat dilakukan pada sekumpulan variabel atau nilai yang dapat dipahami komputer. Perl telah memasukkan sebagian besar Operator dari bahasa C. Perl memiliki banyak operator dibandingkan dengan bahasa pemrograman lainnya. OperaOperator-operator tersebut dikategorikan sebagai operator Aritmatika, Logika, Relasional, dan Penugasan.

Hitung Operatorsi:

Operator aritmatika adalah operator yang dapat digunakan untuk melakukan beberapa operasi matematika dasar. Operator aritmatika ini adalah operator biner di mana kita memerlukan dua argumen untuk melakukan operasi dasar. Kita juga dapat menggunakan operator unary untuk operasi dasar lainnya; Anda dapat melihat perbedaannya pada contoh di bawah ini.

Operator Description Example

+

Operasi penjumlahan digunakan untuk menambahkan dua nilai atau variabel

memegang nilai-nilai

$x=5+6; # atau

$y=6;

$z=$x+$y;

-

Operator pengurangan digunakan untuk mengurangi dua nilai atau variabel yang berisi nilai

$x=6-5; # atau

$y=6;

$z=$x-$y;

*

Operator perkalian digunakan untuk mengalikan dua nilai atau variabel yang berisi nilai

$x=6*5; # atau

$y=6;

$z=$x*$y;

/

Operator pembagian digunakan untuk membagi dua nilai atau variabel yang berisi nilai

$x=36/6; # atau

$y=6;

$z=$x/$y;

**

Operator eksponensial digunakan untuk memberikan eksponen dan mendapatkan nilai.

Contoh : 22 = 43 = 27

$x=5**5; # atau

$x=4;

$y=2;

$z=$x**$y;

%

Operator modulus digunakan untuk mendapatkan pengingat selama pembagian dua nilai atau variabel yang menyimpan nilai

$x=5%2; # atau

$x=10;

$y=2;

$z=$x % $y;

++

Operator penjumlahan unary untuk menambah nilai variabel sebesar 1

$x=5;

$x++;

Or

++$x;

-

Operator Pengurangan Unary untuk mengurangi nilai variabel sebesar 1

$x=5;

$xโ€“; # penurunan posting

Or

โ€“$x;# pra pengurangan

Contoh untuk menyelesaikan semua operasi di atas.

my $x=10;
my $y=2;
my $z;
$z=$x+$y;
print ("Add of $x and $y is $z \n");
$z=$x-$y;
print ("Sub of $x and $y is $z \n");
$z=$x*$y;
print ("Mul of $x and $y is $z \n");
$z=$x/$y;
print ("Div of $x and $y is $z \n");
$z=$x**$y;
print ("Exp of $x and $y is $z \n");
$z=$x%$y;
print ("Mod of $x and $y is $z \n");

Keluaran:

Jumlah 10 dan 2 adalah 12

Sub dari 10 dan 2 adalah 8

Mul dari 10 dan 2 adalah 20

Div dari 10 dan 2 adalah 5

Exp 10 dan 2 adalah 100

Mod 10 dan 2 adalah 0

Penugasan Operatorsi:

Operator penugasan hanya menetapkan nilai pada variabel, tetapi ada satu hal lagi yang perlu kita ingat di sini, operator penugasan juga akan melakukan operasi aritmatika dan menetapkan nilai baru ke variabel yang sama di mana operasi dilakukan.

Operator Description Example

+=

Operator penjumlahan digunakan untuk menambahkan dan menetapkan nilai ke variabel yang sama

$x=4;

$x+=10;

-=

Operator pengurangan digunakan untuk mengurangi dan menetapkan nilai ke variabel yang sama

$x=4;

$x-=10;

*=

Operator perkalian digunakan untuk menambahkan dan menetapkan nilai ke variabel yang sama

$x=4;

$x*=10;

/=

Operator pembagian digunakan untuk membagi dan menetapkan nilai ke variabel yang sama

$x=4;

$x/=10;

**==

Operator eksponensial digunakan untuk mendapatkan eksponen dan menetapkan nilai ke variabel yang sama

$x=4;

$x**=10;

%=

Operator modulus digunakan untuk mendapatkan pengingat selama pembagian dan menetapkan nilai ke variabel yang sama

$x=10;

$x%=4;

Contoh untuk menyelesaikan semua operasi di atas.

my $x=10;
$x+=5;
print("Add = $x\n");
$x-=5;
print("Sub= $x\n");
$x*=5;
print("Mul = $x\n");
$x/=5;
print("Div = $x\n");

Keluaran:

Tambahkan = 15

Sub= 10

Mul = 50

Div = 10

Logis dan Relasional Operatorsi:

Perl menggunakan operator logika untuk membandingkan angka dan string. Operator logika sering kali digunakan dalam Pernyataan Bersyarat.

Logis dan Relasional Operator di Perl

Logis dan Relasional Operator di Perl

Operator Description

==atau persamaan

Operator digunakan untuk memeriksa apakah kedua variabel sama

!=Atau tidak

Operator digunakan untuk memeriksa apakah kedua variabel tidak sama

> atau gt

Operauntuk digunakan untuk memeriksa apakah

A lebih besar dari B

<or lt

Operauntuk digunakan untuk memeriksa apakah

A kurang dari B

>=atau ya

Operauntuk digunakan untuk memeriksa apakah

A lebih besar atau sama dengan B

<= atau le

Operauntuk digunakan untuk memeriksa apakah

A lebih kecil atau sama dengan B

|| atau atau

Operator digunakan untuk memeriksa apakah A atau B memegang nilai

&&atau dan

Operauntuk memeriksa apakah A dan B memiliki nilai simpanan

Mari kita ambil contoh di mana kita bisa menjelaskan semua skenario.

my $x=5;
my $y=5;
if($x == $y){
print ("True -- equal $x and $y \n");
}
else{
print ("False -- not equal $x and $y\n");
}
$x=6;
$y=7;
if($x != $y){
print ("True -- not equal $x and $y\n");
}
else{
print ("False -- equal $x and $y\n");
}
if($y > $x){
print ("True -- $y greater than $x\n");
}
else{
print ("False -- $y greater than $x\n");
}
if($x < $y){
print ("True -- $x less than $y\n");
}
else{
print ("False -- $x less than $y\n");
}
if($x <= $y){
print ("True -- $x less than $y\n");
}
else{
print ("False -- $x less than $y\n");
}
if($y >= $x){
print ("True -- $y greater than $x\n");
}
else{
print ("False -- $y greater than $x\n");
}

Keluaran:

Benar โ€” sama dengan 5 dan 5

Benar โ€” tidak sama dengan 6 dan 7

Benar โ€” 7 lebih besar dari 6

Benar โ€” 6 kurang dari 7

Benar โ€” 6 kurang dari 7

Benar โ€” 7 lebih besar dari 6

Anda dapat melihat contoh operator logika di bagian selanjutnya.

Variabel Khusus Perl

Apa itu Variabel Khusus Perl?

Variabel khusus di Perl adalah variabel yang memiliki arti yang telah ditentukan sebelumnya. Variabel-variabel ini dilambangkan dengan simbol Nama asli atau Tanda Baca. Kami memiliki variabel khusus untuk semua Variabel yang didukung Perl seperti variabel khusus skalar, variabel khusus array, variabel khusus hash. Sebagian besar variabel khusus yang kami gunakan adalah skalar.

Ketika kita ingin menggunakan variabel khusus dengan namanya, maka kita harus memuat modul Perl 'gunakan bahasa Inggris', untuk secara eksplisit mengatakan kepada juru bahasa Perl bahwa kita akan menggunakan variabel khusus menggunakan Namanya.

Variabel khusus skalar

Variabel Description

$_$ARG

Ini adalah variabel default yang menyimpan nilai saat ini.

$0 atau $PROGRAM_NAME

Menyimpan nama file skrip Perl.

$/

Pemisah rekaman masukan, ini memiliki nilai default '\n' yang merupakan karakter baris baru

$.

Menyimpan nomor baris saat ini dari file yang sedang dibaca

$,

Pemisah bidang keluaran, ini terutama digunakan oleh pernyataan print(). Secara default nilai ini disetel ke 0, kita dapat mengubah nilai variabel ini.

$\

Pemisah rekaman keluaran, nilai variabel ini akan kosong; kita dapat memberikan nilai apa pun pada ini, yang akan digunakan oleh pernyataan print() saat mencetak hasilnya.

$#

Variabel ini digunakan untuk format keluaran saat mencetak angka.

$%$FORMAT_PAGE_NUMBER

Akan menyimpan nomor halaman saat ini dari file yang dibaca.

$=$FORMAT_LINES_PER_PAGE

Akan Menahan panjang halaman saat ini dari file yang dibaca.

$-$FORMAT_LINES_LEFT

Memegang nilai jumlah baris yang tersisa untuk dicetak dari halaman.

$~$FORMAT_NAME

Nama Format: Menyimpan format keluaran yang dipilih saat ini secara default, nama pegangan file.

$^$FORMAT_TOP_NAME

Memegang nilai format judul penangan file, secara default nilainya adalah _TOP diikuti dengan nama pegangan file.

$|$OUTPUT_AUTOFLUSH

Nilai default adalah nol; ini digunakan untuk membersihkan buffer keluaran setelah setiap write() atau print().

$$

Akan menyimpan nomor proses penerjemah Perl yang sedang berjalan.

$?

Kode status : Pipa dan panggilan sistem. Status kembalinya perintah dijalankan.

$&$PERTANDINGAN

Digunakan dalam ekspresi reguler, ini akan menyimpan string kecocokan pola terakhir yang berhasil.

$`$PREMATAN

Digunakan dalam ekspresi reguler, ini akan menyimpan string yang diawali dengan kecocokan pola terakhir yang berhasil.

$'$ PASCA PERTANDINGAN

Digunakan dalam ekspresi reguler, ini akan menampung string yang diikuti oleh pencocokan pola terakhir yang berhasil.

$+$TERAKHIR_PAREN_MATCH

Memegang string braket terakhir yang cocok dengan pencarian pola terakhir.

$

$1, $2, $3โ€ฆ. Menyimpan nilai pola yang cocok secara berurutan.

$[

Indeks pertama: Array, substring.

$]

Versi Perl.

$โ€

Pemisah yang digunakan untuk elemen daftar, secara default nilai adalah spasi.

$;

Pemisah subskrip digunakan dalam array multidimensi

$!

Dalam konteks numerik, cetak nomor kesalahan. Dalam konteks string, cetak kesalahannya.

$@

Akan menyimpan info kesalahan sintaksis, digunakan ketika eval() digunakan.

$<

Menyimpan UID (id pengguna) asli dari proses yang menjalankan skrip.

$>

Menyimpan UID efektif dari proses yang menjalankan skrip.

$(

Menyimpan GID (id grup) sebenarnya dari proses yang menjalankan skrip.

$)

Menyimpan GID efektif dari proses yang menjalankan skrip.

$^D$DEBUGGING

Menyimpan nilai bendera debugging saat ini.

$^C

Menyimpan nilai flag saat ini ketika saklar baris perintah โ€“c digunakan.

$^F

Deskriptor file sistem maksimum, secara default, diatur ke 2

$^I$INPLACE_EDIT

Memegang nilai โ€“i saklar baris perintah.

$^M

Kumpulan Memori Khusus dapat digunakan ketika skrip Perl mati karena kesalahan memori habis.

$^O$NAMA OS

Operainfo sistem ting disimpan. 'Linux' untuk sistem Linux, 'mswin32' untuk Windows sistem.

$^T$WAKTU DASAR

Waktu ketika skrip berjalan dalam hitungan detik.

$^W$PERINGATAN

Nilai saat ini dari saklar baris perintah โ€“w. Sakelar peringatan.

$ARGV

Nama file saat ini, ketika <> digunakan.

Variabel Khusus Array:

Variabel Description

@INC

Menyimpan daftar jalur, tempat modul atau skrip perpustakaan Perl dapat dilihat saat menjalankan skrip saat ini. @INC ini digunakan oleh pernyataan use dan require untuk melihat jalur tersebut untuk modul perpustakaan.

@ARGV

Menyimpan argumen baris perintah yang diteruskan.

@_

Digunakan dalam subrutin, sambil meneruskan parameter ke subrutin.

@F

Ini adalah larik tempat jalur masukan disimpan saat pemisahan otomatis โ€“a (sakelar baris perintah digunakan).

Variabel Khusus Hash:

Variabel Description

%INC

Nama file akan menjadi kuncinya; nilai-nilai akan menjadi jalur ke file-file itu. Digunakan oleh melakukan, menggunakan dan membutuhkan.

%ENV

Variabel lingkungan sistem.

%SIG

Signals pawang.

Ekspresi Reguler Perl

Apa itu Ekspresi Reguler?

Ekspresi reguler Perl cukup kuat dalam mencocokkan pola string dalam suatu pernyataan atau sekelompok pernyataan. Ekspresi reguler sebagian besar digunakan dalam penguraian teks, pencocokan pola, dan banyak lagi berdasarkan kebutuhan. Kami memiliki operator tertentu, yang secara khusus digunakan oleh pengikatan pola ekspresi reguler =~ dan !~, Ini adalah operator pengujian dan penugasan.

Regular Expression Operatorso

Regular Expression Operator di Perl

Regular Expression Operator di Perl

  • Pertandingan Perl โ€” m//
  • Pengganti Perl โ€“ s///
  • Perl Transliterasi โ€“ tr///

Sebelum melangkah lebih jauh, Kita perlu mengetahui beberapa hal tentang ekspresi reguler; ada hal-hal tertentu seperti karakter Meta, wildcard dalam sintaks Perl Regex.

Arang Arti

\

Khusus atau kutipan

*

Cocokkan 0 karakter atau lebih

+

Cocokkan 1 karakter atau lebih

?

Cocokkan 0 atau 1 karakter

|

Dapat digunakan untuk mencocokkan pola alternatif

()

Digunakan untuk menyimpan pola yang cocok

[]

Kumpulan karakter dapat dilewati. Khusus digunakan untuk angka dan huruf.

{}

Digunakan untuk memberikan jumlah waktu pertandingan dapat dilakukan.

^

Mulai dari string

$

Akhir dari string

\w

Digunakan untuk mencocokkan satu karakter atau kata yang dapat berupa alfanumerik termasuk โ€œ_โ€

\W

Cocokkan apa pun selain alfanumerik

\s

Digunakan untuk mencocokkan spasi putih

\S

Cocokkan apa pun selain spasi

\d

Mencocokkan angka. Bukan nilai desimal dan nilai negatif

\D

Cocokkan apa pun selain angka.

\t

Cocokkan ruang tab

\n

Cocokkan baris baru

Di atas adalah kumpulan karakter yang dapat digunakan selama pencocokan pola.

Mari kita lihat beberapa contoh.

Pertimbangkan situasi di mana pengguna memberikan beberapa masukan selama eksekusi skrip, dan kami ingin memeriksa apakah pengguna memasukkan beberapa nama sebagai masukan atau tidak. Kami harus menulis sintaks ekspresi reguler untuk mengekstrak nama Anda dan mencetaknya.

my $userinput="Guru99 Rocks";
if($userinput=~m/.*(Guru99).*/)
{
	print "Found Pattern";
}
else
{
	print "unable to find the pattern";
}

Keluaran:

Pola yang Ditemukan

Di sini, kami telah menulis ekspresi reguler sebagai /.*(Guru99).*/.* cocok dengan semua karakter dalam sebuah string. A '.' dalam perl regex match mengacu pada karakter apa pun termasuk spasi.

Mari kita lihat bagaimana tepatnya kita dapat membuat Regex.

Perhatikan contoh rangkaian beberapa kata, angka, dan simbol khusus seperti ini โ€œHalo semuanya, ini nomor saya: +91-99298373639โ€;

Regex : /^\w+\s\w+\s\w+\s\w+\s\w+\s\w+\:\+\d+\-\d+/i

Spasi kata spasi kata spasi kata spasi kata spasi kata karakter khusus : spasi karakter khusus+digit karakter khusus โ€“digit.

Pertandingan Perl Operatorso

Operator pencocokan digunakan untuk mencocokkan string dalam beberapa pernyataan atau dalam suatu variabel.

my $var="Hello this is perl";
if($var=~m/perl/)
{
	print "true"; 
} 
else
{
	print "False"; 
}

Keluaran:

benar

Kode kecil ini akan mencetak 'true', karena pencocokan pola perl mengidentifikasi string dalam sebuah variabel. Pada dasarnya, Perl mencari teks yang disediakan dalam // di seluruh string, bahkan jika ditemukan di satu tempat, ia akan mengembalikan 'true'. Polanya dapat berada di mana saja dalam variabel. Kita dapat mencoba mengganti =~ dengan !~ untuk melihat perbedaan antara kedua operator tersebut.

Substitusi Perl Operator

Operator ini dapat digunakan untuk mencari dan mengganti karakter apa pun dengan null atau karakter lainnya.

my $a="Hello how are you";
$a=~s/hello/cello/gi;
print $a;

Keluaran:

selo, apa kabarmu?

Catatan: Kita sebenarnya dapat menggunakan string pencocokan pola apa pun seperti yang kita lakukan sebelumnya dalam operator substitusi ini. Di sini kita menggunakan 'gi', g-globally, i-ignore case.

Terjemahan Perl Operator

Ini mirip dengan Substitusi, namun tidak menggunakan ekspresi reguler Perl apa pun, melainkan kita bisa langsung meneruskan nilai atau kata yang ingin kita ganti.

my $a="Hello how are you";
$a=~tr/hello/cello/;
print $a;

Keluaran:

Halo sapi, apakah kamu

I/O Berkas Perl

Perl dirancang untuk memanipulasi berkas dan operasi I/O secara efektif. Keunggulan utama Perl terletak pada penguraian dan penanganan berkas. Ada banyak fungsi dan operator bawaan yang digunakan selama penanganan berkas di Perl.

Pada dasarnya, operasi berkas yang dilakukan dengan Perl dilakukan menggunakan FILEHANDLE. Kita harus mendefinisikan FILEHANDLE ini selama membuka berkas untuk dibaca atau ditulis.

Dalam tutorial skrip Perl ini, Anda akan belajar-

Perl Buka file

Kita dapat membuka file menggunakan fungsi open() yang tersedia di Perl.

open(FILEHANDLE, "filename or complete path of the file");

Sekarang kita sudah membuka sebuah file, sekarang muncul pertanyaan. Apakah untuk membaca atau menulis?

Perl Baca file & Perl Tulis file

Perl memiliki mode tertentu yang perlu digunakan untuk membaca, menulis atau menambahkan file.

Read โ€“ open(my $fh,"<filename or complete path of the file"); 
Write โ€“ open(my $fh,">filename or complete path of the file");
Append โ€“ open(my $fh,">>filename or complete path of the file");

Beberapa contoh untuk membaca file:

Membaca file di Perl

Anggaplah kita memiliki file Perl dengan nama file.txt dan memiliki beberapa baris teks di dalamnya. Kita perlu membuka file ini dan mencetaknya.

open(FH,"<file.txt"); 
while(<FH>)    # Looping the file contents using the FH as a filehandle. 
{
	print "$_";
}
close FH;

or

open(FH,"<file.txt"); 
my @content=<FH>; # specifying the input of the array is FH.
foreach(@content)
{
	print "$_";
}
close FH;

Ini akan mencetak konten file pada layar keluaran.

Sekarang, kita akan menulis program untuk membuat dan menulis data ke file Perl.

Menulis file di Perl

open(FH,">test.txt");
my $var=<>;
print FH $var;
close FH;

Ini akan menulis masukan yang diberikan selama run-time dan membuat file test.txt yang akan berisi masukan.

Cara di atas akan selalu mencoba membuat file bernama test.txt dan menulis input ke dalam file tersebut; kami akan menulis hal yang sama untuk menambahkan file.

Operasi Penambahan File dalam Perl

open(FH,">>test.txt");
my $var=<>;
print FH $var;
close FH;
Mode Description

<

Baca

+<

Membaca dan menulis

>

Membuat, menulis, dan memotong

+>

Membaca, menulis, membuat, dan memotong

>>

Menulis, menambahkan, dan membuat

+>>

Membaca, menulis, menambahkan, dan membuat

Sekarang kita harus melihat cara membaca, menulis dan menambahkan file menggunakan contoh dasar.

Kita akan melihat beberapa contoh dan fungsi lain yang membantu dalam memahami lebih banyak tentang file.

Perl Beritahu

Metode ini akan mengembalikan posisi FILEHANDLER saat ini dalam byte jika ditentukan, jika tidak, maka baris terakhir akan dianggap sebagai posisinya.

open(FH, "test.pl");
while(<FH>)
{
	$a=tell FH;
	print "$a";
}

Perl mencari

Fungsi Seek mirip dengan panggilan sistem fseek. Metode ini digunakan untuk memposisikan penunjuk file ke lokasi tertentu dengan menentukan byte yang diikuti dengan awal penunjuk file atau akhir penunjuk file.

seek FH, bytes, WHENCE;

WHENCE adalah posisi penunjuk file untuk memulai. Nol akan mengaturnya dari awal file.

Contoh: Misalkan input.txt memiliki beberapa data seperti โ€œHalo, ini duniaku.โ€

open FH, '+<','input.txt';
seek FH, 5, 0;    # This will start reading data after 5 bytes.
$/ = undef;
$out = <FH>;
print $out;
close FH;

Keluaran:

ini adalah duniaku

Perl Putuskan Tautan

Unlink digunakan untuk menghapus file.

unlink("filename or complete file path");

Direktori Penanganan:

Kami juga dapat menangani direktori tempat kami dapat menangani banyak file.

mari kita lihat cara membuka direktori. Kita bisa menggunakan metode opendir dan readdir.

opendir(DIR,"C:\\Program Files\\"); #DIR is the directory handler.

while(readdir(DIR)) # loop through the output of readdir to print the directory contents.
{
   print "$_\n";
}
closedir(DIR); #used to close the directory handler.

or

opendir(DIR,"C:\\Program Files\\");
@content=readdir(DIR);
foreach(@content)
{
	print "$_\n";
}
closedir(DIR);

Ini akan mencetak semua file yang tersedia di direktori itu.

Tes File Perl & Artinya

-r

Untuk memeriksa apakah File/direktori dapat dibaca oleh pengguna/grup saat ini

-w

Untuk memeriksa apakah File/direktori dapat ditulis oleh pengguna/grup saat ini

-x

Untuk memeriksa apakah File/direktori dapat dieksekusi oleh pengguna/grup saat ini

-o

Untuk memeriksa apakah File/direktori dimiliki oleh pengguna saat ini

-R

Untuk memeriksa apakah File/direktori dapat dibaca oleh pengguna/grup nyata ini

-W

Untuk memeriksa apakah File/direktori dapat ditulis oleh pengguna/grup asli ini

-X

Untuk memeriksa apakah File/direktori dapat dieksekusi oleh pengguna/grup asli ini

-O

Untuk memeriksa apakah File/direktori dimiliki oleh pengguna asli ini

-e

Untuk memeriksa apakah nama file/direktori ada

-z

Untuk memeriksa apakah File ada dan memiliki ukuran nol (selalu salah untuk direktori)

-f

Untuk memeriksa apakah Entri adalah file biasa

-d

Untuk memeriksa apakah Entri adalah direktori

-l

Untuk memeriksa apakah Entri adalah tautan simbolik

-S

Untuk memeriksa apakah Entri adalah soket

-p

Untuk memeriksa apakah Entri adalah pipa bernama (โ€œFIFOโ€)

-b

Untuk memeriksa apakah Entri adalah file khusus blok (seperti disk yang dapat dipasang)

-c

Untuk memeriksa apakah Entri adalah file khusus karakter (seperti perangkat I/O)

-u

Untuk memeriksa apakah File atau direktori sudah diatur

-g

Untuk memeriksa apakah File atau direktori disetelgid

-k

Untuk memeriksa apakah File atau direktori memiliki set bit lengket

-t

Pegangan file yang diberikan adalah TTY (karena fungsi sistem isatty(), nama file tidak dapat diuji dengan pengujian ini)

-T

Untuk memeriksa apakah File terlihat seperti file "teks".

-B

Untuk memeriksa apakah File terlihat seperti file "biner".

-M

Untuk memeriksa Usia modifikasi (diukur dalam hari) file

-A

Untuk memeriksa Usia akses (diukur dalam hari) file

-C

Untuk memeriksa usia modifikasi Inode (diukur dalam hari) file

Subrutin Perl

Apa itu Subrutin?

Subrutin mirip dengan fungsi dalam bahasa pemrograman lain. Kita telah menggunakan beberapa fungsi bawaan seperti print, chomp, chop, dll. Kita dapat menulis subrutin kita sendiri di Perl. Subrutin ini dapat ditulis dimana saja dalam program; lebih baik menempatkan subrutin di awal atau di akhir kode.

Subrutin di PERL

Contoh Subrutin

sub subroutine_name 
{
	Statementsโ€ฆ;    # this is how typical subroutines look like.
}

Sekarang kita tahu cara menulis subrutin, bagaimana kita mengaksesnya?

Kita perlu mengakses atau memanggil subrutin menggunakan nama subrutin yang diawali dengan simbol '&'.

sub display
{
	print "this is a subroutine";
}
display();    # This is how we call a subroutine

Melewati Parameter Perl & argumen Perl

Subrutin atau fungsi Perl ditulis untuk menempatkan kode yang dapat digunakan kembali di dalamnya. Sebagian besar kode yang dapat digunakan kembali memerlukan parameter untuk diteruskan ke subrutin. Di sini, kita akan mempelajari bagaimana kita dapat meneruskan argumen ke subrutin.

sub display
{		
	my $var=@_; # @_ is a special variable which stores the list of arguments passed.		
	print "$var is the value passed";		
}		
display(2,3,4);    #this is how we need to pass the arguments.

Keluaran:

3 adalah nilai yang diteruskan

@_ adalah variabel array khusus yang menyimpan argumen yang diteruskan ke subrutin.

Perl Shift

Kita juga dapat menggunakan kata kunci 'shift' yang menggeser satu parameter pada suatu waktu ke variabel atau $_[0],$_[1]โ€ฆ yang merupakan elemen individual dari array @_

sub display
{		
my $var=shift;		
print "$var is passed";		
}		
display("hello");

Keluaran:

halo sudah berlalu

Subrutin biasanya digunakan dalam pemrograman berorientasi objek dan juga di tempat di mana Anda mungkin memiliki lebih banyak kode yang dapat digunakan kembali untuk ditempatkan.

Fungsi utama subrutin adalah melakukan beberapa tugas dan mengembalikan hasil kode yang dapat digunakan kembali.

Tutorial PERL untuk Pemula - Panduan Lengkap

Kita dapat mengembalikan nilai dari subrutin menggunakan kata kunci return.

sub add
{
my $a=shift;
my $b=shift;
return($a+$b);
}
my $result=add(5,6);
print $result;

Keluaran:

11

$result akan menyimpan nilai $a dan $b yang ditambahkan.

Kita juga bisa meneruskan hash dan array langsung ke subrutin.

sub hash
{
my %hash=@_;
print %hash;
}
%value= ( 1=>'a', 2=>'b');
&hash(%value);

Keluaran:

1a2b

Kami juga dapat mengembalikan hash atau array.

sub hashArray
{
my %hash=@_;
print "Inside Sub-routine";
print %hash;
return(%hash);
}
%hash=(1=>'a', 2=>'b');
my(@ret)=hashArray(%hash);
print "After Sub-routine call";
print @ret;

Keluaran:

Di dalam Sub-rutin2b1aSetelah panggilan Sub-rutin2b1a

Format Perl

Perl memiliki mekanisme yang dapat digunakan untuk membuat laporan. Dengan menggunakan fitur ini, kita dapat membuat laporan sesuai keinginan saat mencetak pada layar Output atau dalam sebuah berkas. Format sederhana dapat ditulis menggunakan fungsi printf atau sprintf yang tersedia di Perl.

printf "%05d\n", 30;

Ini akan mencakup awalan nol di depan angka 30 sehingga jumlah total digit menjadi 5. Hal yang sama dapat digunakan untuk sprintf.

sprintf "%05d\n", 30; # This will print the same as printf.

Dengan menggunakan printf dan sprintf, kita dapat memperoleh sebagian besar format Perl. Dalam kasus laporan, akan sulit untuk menerapkannya.

Format Perl

Contoh Laporan:

================================================== =========================
Nama Alamat Usia Telepon
================================================== =========================
Krishna Chennai 24 929309242
Shruthi Chennai 24 929309232

Di atas adalah contoh laporan yang perlu kita cetak dengan cara yang sama di Perl. Hal ini dapat dicapai dengan menggunakan perl printf dan perl sprintf. Hal ini dapat diimplementasikan secara efektif menggunakan format.

Format dapat dideklarasikan dengan cara di bawah ini.

format FORMATNAME=FORMATLIST.

Di sini, kita akan menggunakan metode penulisan tertentu untuk mencetak data ke layar keluaran atau ke dalam file.

ะกะธะผะฒะพะป Description

@

Digunakan untuk mewakili awal dari pemegang lapangan

>

Perataan teks ke kanan

<

Perataan teks ke kiri

|

Perataan tengah

#

Numerik jika ada kelipatan #. Diasumsikan sebagai komentar jika # tunggal disediakan

.

Titik desimal

^

Pemegang bidang awal juga dapat digunakan untuk multiline dan juga untuk bungkus kata

~

Baris harus kosong jika variabelnya kosong

@*

Banyak baris.

($name,$addr,$age,$phone)=("krishna","chennai","24","929309242"); 
write;
($name,$addr,$age,$phone)=("shruthi","chennai","24","929309232"); 
write; 
format STDOUT_TOP= 
=============================================================== 
NAME ADDRESS AGE PHONE 
===============================================================
 . 
format STDOUT= 
@<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<< @<<< @<<<<<<<<<< 
$name, $addr, $age, $phone 
.

Jalankan kode untuk melihat hasilnya.

Kami menggunakan simbol @ untuk menentukan awal dari field holder atau string, '<' setiap karakter.

Kami menggunakan STDOUT untuk mencetak pada output standar. Kita dapat mengubahnya ke file handler yang kita gunakan untuk menulis data ke dalam file.

open(REPORT,">test.txt"); 
($name,$addr,$age,$phone)=("krishna","chennai","24","929309232"); 
write REPORT; 
($name,$addr,$age,$phone)=("shruthi","chennai","24","929309232"); 
write REPORT; 
format REPORT_TOP= 
=============================================================== 
NAME ADDRESS AGE PHONE 
===============================================================
 . 
format REPORT= 
@<<<<<<<<<<<<< @<<<<<<<<<<<<<<<<<<<<< @<<< @<<<<<<<<<< 
$name, $addr, $age, $phone

Kita bisa mengganti '<' menjadi '>' atau '|' untuk mengubah perataan teks.STDOUT_TOP digunakan untuk mendesain header format.Kita juga dapat menggunakan hal yang sama dengan file handler menggunakan FH_TOP( FH adalah file handler).Ini akan menampilkan format ke file yang sedang kita kerjakan pada.

Standar Pengkodean Perl

Setiap programmer akan memiliki pemahamannya sendiri dalam menulis kode menggunakan standar tertentu; standar-standar ini harus cukup familiar sehingga pemrogram lain dapat memahami dan mendukung kode dengan benar.

Standar Pengkodean di Perl

Standar Pengkodean di Perl

Menulis kode itu sederhana dan mudah. โ€‹โ€‹Masalah muncul ketika kode itu perlu dipertahankan pada tahap selanjutnya. Pedoman dan standar pengkodean yang tepat perlu diikuti saat menulis kode. Perl juga mendefinisikan standar tertentu yang akan berguna bagi programmer untuk menulis kode. Sebaiknya muat 'strict' dan 'warnings module' saat menulis kode. Masing-masing modul ini memiliki kepentingannya sendiri. Strict akan membuat kita mendeklarasikan variabel sebelum menggunakan dan juga akan memberi tahu jika ada kata kosong dalam kode Anda. Modul peringatan juga dapat digunakan dengan memberikan opsi '-w' ke interpreter Perl di shebang. Peringatan akan dicetak di layar keluaran.

#!/usr/bin/perl โ€“w

Di bawah ini adalah beberapa daftar standar.

  • Gunakan modul 'ketat' dan 'peringatan'.
  • Hapus variabel yang tidak digunakan.
  • Nama variabel harus dapat dimengerti oleh pengguna lain. Contoh: $nama, @fileData dll.
  • Dokumentasi diperlukan saat mengkodekan skrip.
  • Jangan melakukan hardcode pada nilai apa pun, melainkan coba ambil nilai tersebut secara dinamis atau minta pengguna memasukkannya saat runtime. (Jalur file, Nama file).
  • Maksimalkan penggunaan kembali kode. Cobalah untuk memasukkan kode yang dapat digunakan kembali ke dalam subrutin.
  • Arti nama lengkap harus diberikan untuk subrutin.
  • Subrutin perlu ditulis dengan komentar dan dokumentasi yang sesuai.
  • Selalu inisialisasi variabel.
  • Selalu periksa kode pengembalian untuk panggilan sistem. Membuka file mungkin terjadi atau tidak, memiliki kode pengembalian di sini akan menampilkan status kesalahan jika file tidak ada.

    Contoh: terbuka (FH,

  • Subrutin harus selalu mengembalikan nilai.
  • Buka keriting di baris yang sama.
  • BLOK garis tunggal boleh ditempatkan dalam satu garis dengan keriting.
  • Gunakan label selama LOOPS, akan mudah untuk keluar dari loop kapan pun diperlukan.
  • Gunakan garis bawah saat frasa kata yang panjang ditulis sebagai nama variabel atau subrutin.
  • Cobalah untuk menggunakan regex sederhana saat membuat kode.

Contoh sempurna dengan standar pengkodean:

#######################################################################
Program to read the file content
# Date: 22-2-2013
# Author : Guru99
########################################################################
#!/usr/bin/perl 
use strict;
use warnings; 
my $line;
open FR, "file.txt" || die("Cannot open the file $!");
while ($line=<FR>) 
{   
	print $line;
} # Looping file handler to print data

Penanganan Kesalahan Perl

Apa itu Pengecualian?

Pengecualian adalah peristiwa yang terjadi selama eksekusi program yang akan menunda atau menghentikan program Anda.

Penanganan kesalahan

Penanganan Kesalahan adalah salah satu hal yang harus diperhatikan oleh setiap programmer selama pemrograman. Perl juga menyediakan teknik penanganan kesalahan yang dapat kita gunakan untuk menjebak kesalahan dan menanganinya sesuai dengan itu.

Penanganan Kesalahan di Perl

Penanganan Kesalahan di Perl

Ada banyak cara untuk memeriksa kesalahan dalam program. Kita perlu memeriksa kode kembalian dari fungsi yang kodenya kita gunakan. Jika kita mampu menangani kode pengembalian tersebut dengan baik, maka sebagian besar penanganan kesalahan dapat dicapai.

Apa yang akan dikembalikan jika terjadi panggilan sistem?

Dalam kasus panggilan sistem, status pengembalian akan disimpan dalam dua variabel khusus $? Dan $!

$! โ€“ Ini akan menangkap nomor kesalahan atau nomor kesalahan yang terkait dengan pesan kesalahan.

$? โ€“ Ini akan menyimpan fungsi sistem status pengembalian ().

Menggunakan operator Perl atau Logika

Kita dapat menggunakan logika atau operator untuk penanganan kesalahan saat menggunakan panggilan sistem.

Ex:

open(FH,"<test.txt");

Ini akan membuka file dalam mode baca jika file tersebut ada.

Bagaimana jika filenya hilang?

open(FH,"<test.txt") or die("File not exists $!"); # This will perl exit the program if the file not exists. 
open(FH,"<test.txt") or warn ("File not exists $!"); # This will print a warning message on STDERR

Perl Evaluasi

Fungsi eval dapat menangani kesalahan fatal, kesalahan waktu kompilasi, kesalahan runtime, dan kesalahan-kesalahan yang menghentikan kode Anda pada suatu saat.

Fungsi Perl Eval dapat memiliki blok kode atau ekspresi. Evals menganggap segala sesuatu yang ditempatkan di dalamnya sebagai string.

Pertimbangkan situasi pemanggilan subrutin yang tidak ditentukan dalam skrip. Dalam situasi ini, skrip berakhir dengan menyatakan โ€œsubrutin & XYZ tidak terdefinisi, kesalahan ini dapat ditangani dalam fungsi eval.

Ada banyak penggunaan blok evals; salah satu penggunaannya adalah ketika kita ingin memuat modul yang khusus untuk sistem operasi selama runtime.

Contoh: Pembagian dengan nol menyebabkan kesalahan fatal; untuk mengatasinya kita dapat menempatkan kode di blok evals.

$a=5; 
$b=0; 
eval 
{ 
 '$result=$a/$b'; 
} 
if($@)
{
 print "$@";    # All the error codes returned by evals will get stored in $@. 
}

Keluaran:

kesalahan sintaksis di C:\Users\XYZ\Text.pl baris 8, dekat โ€œ)

{โ€œ

Eksekusi C:\Users\XYZ\Text.pl dibatalkan karena kesalahan kompilasi.

Contoh: eval menggunakan pernyataan Perl die.

sub test 
{ 
die "Dieing in sub test \n"; 
} 
eval 
{ 
test(); 
}; 
print "Caught : $@\n";

Keluaran:

Tertangkap : Mati di sub tes

Menggunakan Perl Coba

Perl tidak mendukung blok kode coba, tangkap, dan akhirnya seperti bahasa pemrograman lainnya. Kita masih bisa menggunakannya dengan memuat modul Perl eksternal.

gunakan Coba::Mungil;

Dengan menggunakan ini kami dapat menempatkan kode Anda di blok coba dan menangkap kesalahan di blok peringatan.

Sebagai pengganti $@ yang digunakan dalam eval Try::Tiny menggunakan $_.

# menangani error dengan catch handler

try 
{ 
die "Die now"; 
} 
catch 
{ 
warn "caught error: $_"; # not $@ 
};

Akhirnya menggunakan.

my $y;
try 
{ 
 die 'foo' 
}
finally 
{ 
    $y = 'bar' 
};

try 
{ 
    die 'Die now' 
} 
catch 
{ 
    warn "Returned from die: $_" 
} 
finally 
{ 
    $y = 'gone' 
};

Keluaran:

foo di C:\Users\XYZ\Text.pl baris 4.

Kita bisa menggunakan try, catch dan akhirnya dengan cara ini.

coba { # pernyataan }

tangkap {# pernyataan }

akhirnya { # pernyataan };

Or

try 
{ 
# statement 
} 
finally 
{ 
# statement 
};

Keluaran:

Or

try 
{ 
# statement 
} 
finally 
{ 
# statement 
} 
catch 
{ 
# statement 
};

Keluaran:

Pemrograman Soket Perl

Apa itu soket?

Tutorial PERL untuk Pemula - Panduan Lengkap

Soket adalah media di mana dua komputer dapat berinteraksi dalam jaringan dengan menggunakan alamat jaringan dan port.

Misalkan A (Server) dan B (Klien) adalah dua sistem yang harus berinteraksi satu sama lain menggunakan Socket untuk menjalankan beberapa program.

Untuk mengimplementasikan hal ini kita perlu membuat soket di A (Server) dan B (Klien), A akan berada dalam keadaan menerima dan B akan berada dalam keadaan mengirim.

SEBUAH (Server):

Di sini, server ingin menerima koneksi dari B (Klien) dan menjalankan beberapa tugas serta mengirimkan hasilnya kembali ke B (Klien). Saat kita menjalankan kode tersebut, sistem operasi di A mencoba membuat soket dan mengikat satu port ke soket tersebut. Kemudian, sistem akan mendengarkan dari pengirim, yaitu B.

B (Klien).

Di sini, klien ingin mengirim beberapa program dari sistemnya ke A (Server) untuk diproses. Saat kita mengeksekusi kode tersebut, sistem operasi di B mencoba membuat soket untuk berkomunikasi dengan A (Server), B harus menentukan alamat IP dan nomor port A yang ingin disambungkan oleh B.

Jika ini berjalan dengan baik, kedua sistem akan berinteraksi untuk bertukar informasi melalui satu port. Perl juga mendukung pemrograman soket.

Perl memiliki API asli yang dapat digunakan untuk mengimplementasikan soket. Untuk memudahkannya, ada banyak modul CPAN yang digunakan untuk menulis program soket.

Operasi server:

  • Buat Soket
  • Ikat soket dengan alamat dan port
  • Dengarkan soket pada alamat port itu
  • Terima koneksi klien yang mencoba terhubung menggunakan port dan IP server
  • Lakukan operasi

Pelanggan Operation:

  • Buat Soket
  • Hubungkan ke Server menggunakan alamat portnya
  • Lakukan operasi

Server klien Operations di Perl

socket.io

Ini adalah salah satu modul untuk pemrograman soket, yang didasarkan pada pemrograman berorientasi objek. Modul ini tidak mendukung jenis jaringan INET yang digunakan dalam jaringan.

IO::Soket::INET:

Modul ini mendukung domain INET dan dibangun di atas IO::Sockets. Semua metode yang tersedia di IO::Sockets diwarisi dalam modul INET.

Klien dan Server menggunakan protokol TCP:

TCP adalah protokol berorientasi koneksi; kami akan menggunakan protokol ini untuk pemrograman soket.

Sebelum melangkah lebih jauh mari kita lihat bagaimana kita bisa membuat objek untuk modul IO::Socket::INET dan membuat soket.

$socket = IO::Socket::INET->new(PeerPort => 45787, 
PeerAddr => inet_ntoa(INADDR_BROADCAST), 
Proto => udp,LocalAddr => 
'localhost',Broadcast => 1 )
or 
die "Can't create socket and bind it : $@n";

Metode baru dalam modul IO::Socket::INET menerima hash sebagai parameter input ke subrutin. Hash ini sudah ditentukan sebelumnya, dan kita hanya perlu memberikan nilai pada kunci yang ingin kita gunakan. Ada daftar kunci yang digunakan oleh hash ini.

Rekan Addr

Alamat host jarak jauh

tuan rumah sejawat

Sinonim untuk PeerAddr

Pelabuhan Rekan

Port atau layanan jarak jauh

Addr Lokal

Alamat pengikatan host lokal

localhost

Sinonim untuk LocalAddr

Pelabuhan Lokal

Port pengikatan host lokal

proto

Nama protokol (atau nomor)

Tipe

Jenis soket

Mendengarkan

Ukuran antrian untuk mendengarkan

Gunakan kembali Addr

Setel SO_REUSEADDR sebelum mengikat

Reuse

Setel SO_REUSEADDR sebelum mengikat

Gunakan kembaliPort

Setel SO_REUSEPORT sebelum mengikat

Siaran

Setel SO_BROADCAST sebelum mengikat

batas waktu

Nilai batas waktu untuk berbagai operasi

MultiRumah

Coba semua alamat untuk host multihome

Pemblokiran

Tentukan apakah koneksi akan menjadi mode pemblokiran

Server.pl

use IO::Socket; 
use strict; 
use warnings; 
my $socket = new IO::Socket::INET ( 
LocalHost => 'localhost', 
LocalPort => '45655', 
Proto => 'tcp', 
Listen => 1, 
Reuse => 1, 
); 
die "Could not create socket: $!n" unless $socket; 
print "Waiting for the client to send datan"; 
my $new_socket = $socket->accept(); 
while(<$new_socket>) { 
print $_; 
} 
close($socket);

Klien.pl

use strict; 
use warnings; 
use IO::Socket; 
my $socket = new IO::Socket::INET ( 
PeerAddr => 'localhost', 
PeerPort => '45655', 
Proto => 'tcp', 
); 
die "Could not create socket: $!n" unless $socket; 
print $socket "Hello this is socket connection!n"; 
close($socket);

Catatan:

Dalam pemrograman soket, kita harus mengeksekusi Server.pl terlebih dahulu dan kemudian client.pl satu per satu dalam prompt perintah yang berbeda jika kita menjalankannya di host lokal.

Apa itu Modul dan Paket Perl

Modul dan Paket terkait erat satu sama lain dan independen. Paket: Paket Perl juga dikenal sebagai namespace dan memiliki semua variabel unik yang digunakan seperti hash, array, skalar, dan subrutin. Modul: Modul adalah kumpulan kode yang dapat digunakan kembali, tempat kita menulis subrutin di dalamnya. Modul-modul ini dapat dimuat dalam program Perl untuk memanfaatkan subrutin yang ditulis dalam modul tersebut.

Apa itu Modul Perl?

Modul standar akan terinstal selama instalasi Perl pada sistem apa pun. CPAN: Perl Komprehensif Archive Network โ€“ Repositori global modul Perl. Modul Perl khusus kami sendiri yang dapat kami tulis. Pada dasarnya, modul A ketika dimuat dalam skrip apa pun akan mengekspor semua variabel global dan subrutinnya. Subrutin ini dapat langsung dipanggil seolah-olah telah dideklarasikan dalam skrip itu sendiri. Modul Perl dapat ditulis dengan ekstensi .pm pada nama file Contoh: Foo.pm. Sebuah modul dapat ditulis dengan menggunakan 'package Foo' di awal program.

Modul Perl dasar:

#!/usr/bin/perl 
package Arithmetic; 
sub add 
{ 
my $a=$_[0]; 
my $b=$_[1]; 
return ($a+$b);
} 
sub subtract 
{ 
my $a=$_[0]; 
my $b=$_[1]; 
return ($a-$b); 
} 
1;

Tidak Ada Output

Untuk menggunakan modul Perl ini, kita harus menempatkannya di direktori kerja saat ini.

Kita dapat memuat modul Perl menggunakan require atau menggunakan kode di mana saja. Perbedaan utama antara require dan use adalah, require modul yang dimuat saat runtime dan gunakan beban selama waktu kompilasi.

#!/usr/bin/perl
require
Arithmetic;
print Arithmetic::add(5,6);
print Arithmetic:: subtract (5,6);

Di sini, dalam contoh di atas, kita mengakses subrutin menggunakan nama modul yang sepenuhnya memenuhi syarat.

Kita juga dapat mengakses paket tersebut menggunakan 'use Arithmetic'.

Eksportir:

Modul ini memiliki fungsi default untuk mengimpor metode.

#!/usr/bin/perl 
package Arithmetic; 
require Exporter; 
@ISA= qw(Exporter); # This is basically for implementing inheritance. 
@EXPORT = qw(add); 
@EXPORT_OK = qw(subtract); 
sub add 
{ 
my $a=$_[0]; 
my $b=$_[1]; 
return ($a+$b); 
} 
sub subtract 
{ 
my $a=$_[0]; 
my $b=$_[1]; 
return ($a-$b);
 } 
1;

@EXPORT array dapat digunakan untuk meneruskan daftar variabel dan subrutin yang secara default akan diekspor ke pemanggil Modul.

Array @EXPORT_OK dapat digunakan untuk meneruskan daftar variabel dan subrutin yang akan diekspor berdasarkan permintaan, di mana pengguna harus menentukannya saat memuat modul.

#!/usr/bin/perl 
use 
Arithmetic qw(subtract); 
print add(5,6); 
print subtract (5,6);

Secara default, subrutin tambahan akan diekspor. Metode pengurangan tidak akan diekspor jika tidak ditentukan saat memuat modul.

Pemrograman Berorientasi Objek di Perl

Di bagian ini, kita akan mempelajari cara membuat Modul Berorientasi Objek Perl. Pertama, mari kita lihat apa objeknya? Objek adalah sebuah instance yang dapat kita gunakan untuk mengakses, memodifikasi, dan menemukan beberapa data di modul Perl mana pun. Ini tidak lain adalah membuat paket Perl, variabel, dan subrutin Anda yang ada bertindak seperti kelas, objek, dan metode yang mengacu pada Bahasa Pemrograman lainnya.

Buat Kelas

Cara membuat modul sudah kita ketahui dari topik sebelumnya. Tujuan kelas adalah untuk menyimpan metode dan variabel. Modul Perl akan memiliki subrutin yang merupakan metode. Kita perlu mengakses variabel dan objek subrutin tersebut.

Konstruktor Perl

Konstruktor di Perl adalah metode yang akan mengeksekusi dan mengembalikan referensi kepada kita dengan nama modul yang diberi tag ke referensi tersebut. Ini disebut memberkati kelas. Kami menggunakan variabel tertentu untuk memberkati kelas Perl, yaitu memberkati.

#!/usr/bin/perl 
package Arithmetic; 
sub new 
{ 
my $class=shift;
my $self={}; 
bless $self, $class; 
return $self; 
} 
sub add 
{ 
my $self= shift; 
my $a=$_[0]; 
my $b=$_[1]; 
return ($a+$b); 
}
sub subtract 
{ 
my $self= shift; 
my $a=$_[0]; 
my $b=$_[1]; 
return ($a-$b); 
} 
1;

Metode baru yang digunakan sebagai konstruktor untuk suatu kelas, Konstruktor ini akan membuatkan objek untuk kita dan akan kembali ke skrip yang memanggil konstruktor ini.

#!/usr/bin/perl
use Arithmetic;
my $obj= Arithmetic->new(); 
my $result= $obj->add(5,6); 
print "$result";
$result = $obj->subtract(6,5);
print "$result";

Di sini, kita perlu memahami bagaimana objek itu dibuat. Setiap kali kita mencoba membuat objek untuk kelas tersebut, kita perlu menggunakan nama lengkap kelas tersebut. Misalkan, jika kelas Perl terletak di lib\Math\Arithmetic.pm. Dan, jika kita ingin mengakses kelas Perl ini dari direktori lib maka kita harus menyediakan seluruh jalur ke kelas tersebut sambil memanggil skrip.

gunakan lib::Matematika::Aritmatika;

my $obj = lib::Math::Arithmetic->new();

Beginilah cara pembuatan objek di Perl terjadi.

@INC:

Bagaimana skrip Perl mengetahui keberadaan modul perpustakaan? Perl hanya mengetahui direktori skrip saat ini dan jalur perpustakaan bawaan Perl. Setiap kali kita menggunakan, dan modul Perl, yang tidak terletak di direktori saat ini atau Path perpustakaan Perl, skrip akan selalu gagal. Tentang @INC, ini adalah array, yang menampung semua jalur direktori tempat ia harus mencari modul Perl. Coba jalankan perintah ini dan lihat apa hasilnya.

perl โ€“e "print @INC"

Ini akan memberikan beberapa keluaran, dan itu adalah jalur di mana Modul lib akan tersedia. Setiap kali kita menggunakan modul perpustakaan baru, kita perlu memberitahu Perl, juru bahasa, untuk melihat ke lokasi tertentu di mana modul Perl tersedia.

push(@INC, "PATH TO YOUR MODULE");

Jadikan ini sebagai baris kode pertama Anda. Ini akan memberitahu penerjemah Anda untuk melihat ke dalam Jalur itu. atau menggunakan

lib Arithmetic; # List here is your Perl Module location

Penghancur Perl

Destruktor suatu objek secara default dipanggil di akhir dan sebelum skrip Anda keluar. Ini digunakan untuk menghancurkan objek Anda dari memori.


Skrip Shell PERL V/s

Pengantar Pemrograman PERL

  • Pemrograman di Perl tidak menyebabkan masalah portabilitas, yang biasa terjadi saat menggunakan shell yang berbeda dalam skrip shell.
  • Penanganan kesalahan sangat mudah di Perl
  • Anda dapat menulis program yang panjang dan rumit di Perl dengan mudah karena bahasa pemrograman ini sangat luas. Hal ini berbeda dengan Shell yang tidak mendukung namespace, modul, objek, pewarisan, dll.
  • Shell memiliki lebih sedikit perpustakaan yang dapat digunakan kembali. Tidak ada apa-apanya dibandingkan dengan CPAN Perl
  • Shell kurang aman. Itu memanggil fungsi eksternal (perintah seperti mv, cp dll tergantung pada shell yang digunakan). Sebaliknya Perl melakukan pekerjaan yang bermanfaat saat menggunakan fungsi internal.

Bagaimana PERL digunakan dalam Pengujian Otomasi

Perl banyak digunakan dalam otomatisasi. Ini mungkin bukan bahasa pemrograman terbaik di dunia tetapi paling cocok untuk jenis tugas tertentu. Mari kita bahas dimana & mengapa Perl digunakan Pengujian Otomasi.

Pengujian Penyimpanan

Pengujian Penyimpanan menggunakan Perl

Apa itu Penyimpanan? Data disimpan dalam File.

Misalkan, kita memiliki Penyimpanan terkait Uji Kasus dimana kita harus menulis data pada satu partisi, membacanya & memverifikasi bahwa data tersebut ditulis dengan benar.

Ini dapat dilakukan secara manual, tetapi bisakah penguji manual melakukan hal yang sama 10000 kali? Ini akan menjadi mimpi buruk! Kita membutuhkan otomatisasi

Alat terbaik untuk mengotomatiskan segala sesuatu yang berhubungan dengan penyimpanan adalah Perl karena Teknik Penanganan File-nya, REGEX dan penguraian file yang kuat yang memakan waktu eksekusi paling sedikit dibandingkan dengan bahasa pemrograman lain.

Mengapa kita perlu menguji penyimpanan? Pikirkan Pusat Data besar tempat data akan mengalir terus-menerus dari satu sistem ke sistem lain dengan ribuan rekaman disimpan per detik. Menguji ketahanan mekanisme penyimpanan tersebut sangatlah penting.

Banyak perusahaan seperti HP, Dell, IBM dan banyak produsen server menggunakan Perl sebagai antarmuka untuk menguji fungsionalitas di domain Penyimpanan dan Jaringan. NetApp adalah salah satu perusahaan yang sepenuhnya mengerjakan Penyimpanan dan menggunakan Perl sebagai bahasa Pemrograman untuk mengotomatiskan kasus pengujian.

Jika Anda tertarik dengan Perl Automation, disarankan untuk mempelajari tentang Penyimpanan & Jaringan Concepts.

Pengujian Server & Jaringan:

Pengujian Server dan Jaringan menggunakan Perl

Pengujian Server dan Jaringan menggunakan Perl

PERL banyak digunakan dalam uptime server dan pemantauan kinerja.

Pertimbangkan sebuah pusat data yang memiliki 100 host (server). Anda diharuskan terhubung ke setiap host, menjalankan beberapa perintah dari jarak jauh. Anda juga ingin me-reboot sistem dan memeriksa kapan sistem kembali online.

Melakukan tugas ini secara manual untuk 100 host akan menjadi mimpi buruk. Namun kita dapat dengan mudah mengotomatiskannya menggunakan PERL

Rancang langkah-langkah untuk mencapai otomatisasi di atas menggunakan PERL

  1. Ambil masukan dari file tentang info host seperti (IP, Nama Pengguna, dan Kata Sandi).
  2. Gunakan Net::SSH2 untuk terhubung ke setiap sistem dan membuat saluran untuk menjalankan perintah.
  3. Jalankan serangkaian perintah yang diperlukan misalnya: ls, dir, ifconfig,ps dll.
  4. Reboot sistem
  5. Tunggu 10 menit hingga sistem muncul.
  6. Ping sistem menggunakan modul Net::Ping dan cetak statusnya.

Kami akan mengkodekan skenario di atas.

Mari kita ambil file bernama Input.txt yang akan menyimpan informasi lengkap tentang semua host yang kita perlukan untuk terhubung dan menjalankan perintah.

masukan.txt

192.168.1.2 kata sandi akar

192.168.1.3 kata sandi akar

192.168.1.4 akar akar123

HostCheck.pl

use Net::SSH2;
use Net::Ping;
use strict;
use warnings;
my $ping = Net::Ping->new();    # Creating object for Net::Ping
my $SSHObj = Net::SSH2->new();  #Creating object for Net::SSH2
open( FH, "Input.txt" );        # Opening file and placing content to FH
my @hosts = <FH>;
my $ip;
my @ips;
foreach (@hosts)
{
    if ( $_ =~ /(.*)\s+(\w+)\s+(.*)/ )    #Regex to get each info from file
    {
        $ip = $1;
        my $user = $2;
        my $password = $3;
        $SSHObj->connect($ip);
        print "Connecting to host -- $ip --Uname:$user --Password:$password\n";
        my $status = $SSHObj->auth_password( $user, $password );
        print "$status\n";
        die("unable to establish connection to -- $ip") unless ($status);
        my $shell = $SSHObj->channel();
        print "$_\n" while <$shell>;
        $shell->blocking(1);
        $shell->pty('tty');
        $shell->shell();
        sleep(5);
        #Executing the list of command on particular host. Can be any command
        print $shell "ls \n";
        print "$_\n" while <$shell>;
        print $shell "ps \n";
        print "$_\n" while <$shell>;
        print $shell "dir \n";
        print "$_\n" while <$shell>;
        print $shell "init 6\n";    #rebooting the system
        push( @ips, $ip );
    }
}
sleep 600;
foreach (@ips)
{
    if ( $ping->ping($_) )
    {
        print "$_ is alive.\n" if $ping->ping($_);
    }
    else
    {
        print "$_ is not still up --waiting for it to come up\n";
    }
}

Pengujian Web

Perl tidak hanya terbatas pada pengujian Penyimpanan & Jaringan. Kami juga dapat melakukan pengujian berbasis web menggunakan PERL. WWW-Mekanisasi adalah satu modul yang digunakan untuk pengujian web. Pada dasarnya, ia tidak akan meluncurkan browser apa pun untuk menguji fungsionalitas aplikasi web, melainkan menggunakan kode sumber halaman html.

Kami juga dapat melakukan pengujian berbasis browser menggunakan Selenium IDE, RC, driver web. Perl didukung untuk Selenium.

\N"; #ini akan menampung string yang tersisa setelah pencocokan pola selesai.
cetak โ€œ