Perl

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 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.

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.

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.

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.

Budaya Perl dikenal cukup unik, antara lain:

  • Puisi Perl
  • Perl Golf
  • Obsfucated Code
  • JAPH

source

Komentar
  1. grosir baju bayi berkata:

    Wow, superb blog layout! How long have you been blogging for? you make blogging look easy. The overall look of your web site is wonderful, as well as the content!. Thanks For Your article about Perl Secarik Kertasâ„¢ .

  2. Lauren Tave berkata:

    I just want to tell you that I am just very new to blogging and actually loved this web site. Almost certainly I’m likely to bookmark your website . You definitely come with good posts. Kudos for sharing your web-site.

  3. facial hair grow berkata:

    I just want to say I am just beginner to blogs and definitely liked your page. Almost certainly I’m likely to bookmark your blog . You actually have exceptional posts. Many thanks for sharing your webpage.

  4. I just want to tell you that I’m all new to weblog and absolutely loved this page. Probably I’m likely to bookmark your site . You absolutely have wonderful articles and reviews. Thanks a bunch for sharing your website page.

  5. Read More Here berkata:

    A lot of thanks for this particular info I was basically browsing all Search engines to discover it!

  6. Learn More berkata:

    Some genuinely wonderful info , Gladiolus I found this. “Sell your cleverness and buy bewilderment.” by Jalal ud-Din Rumi.

  7. You should really control the remarks at this website

  8. I tried taking a look at your site on my blackberry and the design does not seem to be correct. Might wanna check it out on WAP as well as it seems most cell phone layouts are not really working with your web site.

  9. tumbshots berkata:

    Im getting a tiny problem. I cant get my reader to pickup your feed, Im using aol reader by the way.

  10. ppi claims uk berkata:

    Hey there, I just hopped over to your site using StumbleUpon. Not somthing I would normally read, but I appreciated your views none the less. Thanks for creating some thing worth reading.

  11. liberty reserve berkata:

    This is the straight Perl Secarik Kertasâ„¢ journal for anyone who wants to seek out out virtually this topic. You observation so often its virtually debilitating to represent with you (not that I real would want…HaHa). You definitely put a new rotation on a matter thats been scrawled roughly for geezerhood. Discriminating force, just zealous!

  12. personal injury attorney philadelphia – Insights

  13. As soon as I at first commented I clicked on the Notify me any time new comments are added checkbox and currently each and every time a remark is added I get four email messages with the identical comment.

  14. Heya, I just hopped over to your web site using StumbleUpon. Not somthing I might typically read, but I appreciated your thoughts none the less. Thank you for making something worth reading.

  15. I like this blog it’s a master piece! Glad I discovered this on google.

  16. I say to you a story: i looking for some really good web site along with media, but each and every time i found something along with written content we need, it absolutely was pice regarding ####. However, i ran across a very good site! And it ended up being excellent. Guess what happens site is this kind of? Your current! Sure, your site! Thank you very much with regard to function you put in that site!

  17. Wow. This blog site is awesome. How do you make it look this good .

  18. The actual gemstone involving websites! Eye-catching colors, the content will be good quality. I ran across it a shame that will but now, we have seen that the browser would rather mock me personally.

  19. sports bet berkata:

    Wanted to drop a remark and let you know your Rss feed isnt working today. I tried including it to my Bing reader account and got nothing.

  20. like berkata:

    Can you message me with a few hints about how you made this website look this good , I would appreciate it.

  21. Im getting a tiny issue. I cant get my reader to pick up your rss feed, Im using google reader by the way.

  22. I really like your writing style, good info , regards for putting up : D.

  23. Gary Nitzel berkata:

    Hello There. I found your blog the use of msn. This is a really smartly written article. I will make sure to bookmark it and come back to read extra of your useful information. Thank you for the post. I will certainly return.

  24. click site berkata:

    very good put up, i certainly love this web site, keep on it

  25. I do consider all the filbutrw ideas you have offered to your post. They are very convincing and can definitely work. Still, the posts are too brief for newbies. May you please lengthen them a little from subsequent time? Thanks for the post.

  26. Very nice design and style and fantastic subject material , practically nothing else we want : D.

  27. Shanda Chemin berkata:

    Appreciating the dedication you put into your site and detailed information you present. It’s great to come across a blog every once in a while that isn’t the same unwanted rehashed material. Excellent read! I’ve bookmarked your site and I’m adding your RSS feeds to my Google account.

  28. lista de emails berkata:

    his article is very nice understanding the patients is very important from this i understood everything thank you. lista de emails lista de emails lista de emails lista de emails lista de emails

Beri Komentar Disini