Perl adalah
bahasa pemrograman untuk segala keperluan, dikembangkan pertama kali oleh
Larry Wall di mesin
Unix.
Perl dirilis pertama kali pada tanggal 18 Desember 1987 ditandai dengan
keluarnya Perl 1. Pada versi-versi selanjutnya, Perl tersedia pula
untuk berbagai sistem operasi varian Unix (
SunOS,
Linux,
BSD,
HP-UX), juga tersedia untuk sistem operasi seperti
DOS,
Windows,
PowerPC,
BeOS,
VMS,
EBCDIC, dan
PocketPC. Dukungan terhadap pemrograman berbasis obyek (
object oriented programming/
OOP) ditambahkan pada Perl 5, yang pertama kali dirilis pada tanggal 31 Juli 1993. Proyek pengembangan
Perl 6
dimulai pada tahun 2000, dan masih berlangsung hingga kini tanpa
tanggal yang jelas kapan mau dirilis. Ini dikatakan sendiri oleh Larry
Wall
[1] dalam satu pidatonya yang dikenal dengan seri
The State of the Onion.
Dua di antara
karakteristik
utama Perl adalah penanganan teks dan berbagai jalan pintas untuk
menyelesaiakn persoalan-persoalan umum. Tidak heran jika Perl sangat
populer digunakan dalam program-program
CGI (
Common Gateway Interface) dan berbagai
protokol Internet lainnya. Seperti diketahui,
TCP/IP
sebagai basis bagi semua protokol Internet yang dikenal sekarang ini
menggunakan format teks dalam komunikasi data. Seperti juga bahasa
populer lainnya, Perl menerima banyak kritikan. Meski banyak di
antaranya hanya berupa mitos, atau berlebih-lebihan, tapi terdapat juga
sejumlah kritikan yang valid. Salah satunya adalah, sintaksnya susah
dibaca, karena banyak menggunakan simbol-simbol yang bukan huruf dan
angka.
Nama dan singkatan
Larry Wall menegaskan bahwa bahasa pemrograman yang diciptakannya diberi nama
Perl (dengan P besar), sedangkan
perl (dengan p kecil) adalah nama untuk program
interpreter yang menjalankan
kode sumber yang ditulis dengan bahasa Perl. Korelasi kedua nama ini ditegaskan oleh
Tom Christiansen dalam ungkapan
only perl can parse Perl, atau
Nothing but perl can parse Perl. Nama
perl sebagai sebuah program, mengikuti konsensus penamaan program di sistem
Unix, yaitu pendek dan semua ditulis huruf kecil (kalau di
Windows nama program ini adalah
perl.exe). Baik Perl maupun perl bukanlah sebuah singkatan atau
akronim. Jadi, penulisan
PERL
(semua huruf besar) dianggap salah, tidak berdasar, dan sama sekali
tidak akurat jika dihubungkan dengan Perl sebagai bahasa pemrograman
[2].
Baru belakangan Larry Wall memberikan kepanjangan
Practical Extraction and Reporting Language.
Mungkin karena terkesan serius dan sangat relevan, kepanjangan ini
secara salah sering dirujuk sebagai kepanjangan resmi dari Perl.
Barangkali untuk mencegah kesalahpahaman, atau karena Larry Wall memang
suka bercanda, dia mengumumkan kepanjangan lain, yaitu
Pathologically Eclectic Rubbish Lister. Dan, yang terbaru adalah
People Excel at Relational Labor, untuk menggambarkan bahwa perkembangan Perl tidak terlepas dari keterlibatan dan komimen komunitas
[3].
Di luar itu, berkembang kreasi-kreasi lain untuk membuat kepanjangan
Perl, baik yang bermaksud serius maupun bercanda, bahkan ada juga yang
sifatnya merendahkan atau melecehkan.
Lambang Unta
Buku "Programming Perl" yang diterbitkan oleh O'Reilly Media memiliki
sampul depan yang bergambar unta. Setelah itu buku ini dikenal sebagai
Buku Unta. Gambar unta ini kemudian digunakan secara luas sebagai lambang dari Perl.
O'Reilly memiliki hak cipta atas gambar ini tetapi menyatakan bahwa
mereka hanya akan menggunakan jalur hukum untuk melindungi ketepatan dan
kesamaan lambang unta ini. O'Reilly memperbolehkan penggunaan
non-komersial atas lambang ini dan menyediakan logo "Programming
Republic of Perl" dan gambar tombol "Powered by Perl"
Pemrograman Perl
Lihat
Pemrograman Perl untuk pembahasan yang lebih komprehensif dan bersifat teknis.
Kode sumber Perl tidak perlu dikompilasi, melainkan bisa langsung dijalankan oleh sebuah program
interpreter bernama
perl. Misalnya,
#!/usr/bin/perl
print "Hello, world!\n";
Jika program di atas ditulis dalam sebuah berkas bernama
hello.pl
, lalu dijalankan dengan perintah (contoh di Linux):
$ perl hello.pl
Maka di layar akan tercetak:
Hello, World!
$
Bahkan, sebuah program yang mengerjakan proses rumit bisa ditulis
dengan jumlah karakter yang lebih pendek daripada jumlah kolom layar
standar, misalnya:
perl -lane '$h{$_}++ for @F; END { print "$_: $h{$_} " for keys %h}' <nama_berkas>
Program ini membaca sebuah berkas teks dan mencetak setiap kata unik
dan jumlahnya di dalam berkas. Contoh hasil cetakan dengan sebuah berkas
berisi kode
SQL:
password: 2
category: 2
DROP: 20
TABLE: 40
varchar(12): 9
dst.
Tentu saja, yang dimaksud dengan "kata" di sini adalah rentetan
karakter tanpa spasi. Jika dituangkan dalam sebuah berkas, program di
atas bisa menjadi lima hingga sepuluh baris, tergantung gaya
pemrograman. Program semacam ini disebut juga
oneliner, dan sering digunakan untuk keperluan sederhana dan cepat. Contoh lain penggunaan
oneliner adalah mengubah nama berkas di suatu direktori menjadi huruf kecil semua, seperti:
perl -e 'rename $_, lc for <*>'
Beberapa programer Perl tertantang untuk membuat solusi
oneliner untuk problem yang sama dengan jumlah karakter yang lebih pendek dan berkembanglah sebuah kompetisi yang disebut
Perl Golf (lihat juga
Komunitas dan Budaya).
Hal seperti ini bisa membuat sebagian orang kagum, namun bagi sebagian
orang, semakin membuktikan bahwa Perl hanyalah bahasa untuk main-main,
atau kalaupun untuk serius, tidak mudah diphami oleh orang lain, bahkan
oleh programernya sendiri setelah beberapa waktu kemudian. Lelucon yang
diberikan kepada Perl tentang ini adalah
write only, artinya program hanya bisa ditulis, tapi tidak bisa dibaca.
Sebenarnya tidak demikian. Perl menyediakan berbagai fasilitas bagi
penggunannya untuk menulis program dalam berbagai gaya dan bentuk sesuai
dengan keperluannya. Dalam hal ini Perl memperkenalkan motto
TMTOWDI, dalam bahasa Inggris ini adalah singkatan dari
There's More Than One Way To Do It,
atau terjemahan bebasnya, terdapat lebih dari satu cara untuk
menyelesaikan suatu persoalan. Tanpa bisa dihindari, motto ini juga
menjadi sumber kritikan. Artinya, Perl tidak memiliki standar
penyelesaian masalah. Padahal tidak demikian. Hanya karena terdapat lima
atau selusin cara untuk menyelesaikan masalah bukan berarti semua cara
tersebut setara dalam berbagai aspek kualitas. Dan, dokumentasi Perl
penuh dengan berbagai contoh penggunaan yang direkomendasikan, dan juga
contoh penggunaan yang tidak direkomendasikan dengan berbagai alasan.
Seperti juga bahasa lainnya, Perl menyediakan fasilitas pemrograman standar seperti penggunaan variabel, fungsi (
built-in function), kontrol logika (
if-else), dan iterasi (
while, for, foreach
). Kontrol
switch baru akan disediakan di
Perl 6, namun di Perl 5 dapat diemulasikan dengan mudah. Perl membolehkan programer untuk membuat fungsi sendiri (
subroutine),
mengenalkan pembatasan cakupan variabel secara hirarkis, penggunaan
komentar, serta pembuatan dokumentasi terstruktur bersandingan dengan
kode program. Sejak Perl 5 dikeluarkan, Perl mendukung pemrograman
berbasis obyek (
OOP), disusul kemudian dengan
thread programming, serta memperbaharui penggunaan
namespace. Fasilitas yang paling digemari pengguna Perl,
regular expression (atau
regex),
telah ada sejak Perl 2. Dari versi ke versi regex makin dikembangkan
sehingga diakui sebagai implementasi regex paling lengkap. Tidak heran
kemudian muncul implementasi regex yang dikenal sebagai
PCRE, atau
Perl-compatible regular expression.
Perl menyediakan sejumlah fasilitas untuk memastikan bahwa programer dapat membuat program yang aman dari serangan
cracker.
Jika programer menginginkan, Perl menyediakan linkungan pemrogaman yang
lebih ketat yang akan menangkap kesalahan atau potensi kesalahan
sekecil apapun sebelum program bisa dijalankan. Fasilitas pemrograman
berorientasi jaringan sudah terintegrasi, juga penanganan dan pemrosesan
berkas (
file handling) dan setara berkas (seperti diketahui, di sistem
Unix dan variannya, segala sesuatu dianggap berkas dan bisa diperlakukan sebagai berkas). Sebelumn
threading
diperkenalkan, Perl sudah menyediakan fasilitas untuk menjalankan lebih
dari satu proses secara paralel. Sebagai bahasa yang diciptakan dalam
tradisi
Unix,
Perl sedari awal mendukung pembuatan program yang bisa berinteraksi
dengan program lain yang ada di sistem, sehingga bisa dijalankan seperti
diilustrasikan di bawah ini:
cat <berkas> | sort | program_perl | perl -p -e 's/ganti ini/dengan ini/g' | vim - | tar cf - .
Komunitas dan budaya
Pada awalnya komunitas pengguna Perl hanya di sekitar tim pengembangan Perl itu sendiri, beberapa grup diskusi di
newsgroup, dan sejumlah
mailing list. Komunitas pengguna yang lebih spesifik dimulai dengan munculnya
New York Perl Mongers (disingkat NY.pm) yang dibentuk oleh
brian d foy (bdf). Dari namanya bisa diketahui bahwa anggota NY.pm berasal dari kota New York, Amerika Serikat. Terinspirasi oleh
Randal L. Schwartz,
bdf melangkah lebih jauh dengan membentuk Perl Mongers sebagai wadah
internasional yang mengkoordinasikan komunitas pengguna Perl di seluruh
dunia
[4].
Satu-persatu komunitas Perl bebasis kota berdiri. Mengambil model
dari NY.pm, hampir semua nama komunitas Perl Mongers di suatu kota
diambil dari nama kota tersebut dan ditambahkan .pm di belakangnya. Ini
tentu mengingatkan pada penamaan modul ekstensi .pm untuk Perl Modules.
Di Indonesia sempat berdiri tiga komunitas berbasis kota, yaitu
Bandung.pm, Jakarta.pm, dan Semarang.pm. Di luar grup-grup berbasis kota
tersebut, terdapat juga grup diskusi berbasis web, yaitu
PerlMonks.
sumber : https://id.wikipedia.org/wiki/Perl