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, tetapi 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 what's the difference between "perl" and "perl"?.
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 the state of the onion 10.
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.
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"
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.
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:
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:
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, tetapi 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 objek (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:
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 wawancara dengan brian d foy.
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:
grup diskusi id-perl
blog perl indonesia
kategori:bahasa pemrograman prosedural
schrder lahir di mossenberg, niedersachsen) adalah kanselir jerman pada periode 1998-2005.
ayahnya, fritz schroeder tertembak mati pada 4 oktober 1944 bersama delapan pasukan lain pada masa adolf hitler.
ketika itu mereka mencoba melarikan diri dari desa ceanu mare setelah mendapat serangan tentara romania.
peristiwa itu terjadi ketika ia berusia enam bulan.
sejak itu, sang ayah hanyalah tinggal nama baginya.
bahkan, makamnya pun tak pernah ia ketahui.
baru diketahui setelah gunhild kamp-schroeder terus mencari tahu di mana keberadaan sang ayah.
ia pun minta bantuan palang merah internasional.
hidup miskin menjadi riwayat masa kecilnya.
ibunya terpaksa bekerja sebagai pembersih rumah guna menghidupi kelima anaknya.
masa kecil schroeder penuh tantangan.
setelah selesai sekolah menengah pertama, pada umur 14 tahun, ia mulai mengenal dunia kerja.
mulanya menjadi penjaga toko selama tiga tahun (1959-1961), kemudian menjadi pekerja di bidang konstruksi sebagai tenaga tak terampil.
di sela waktunya bekerja di sektor konstruksi, schroeder sekolah malam dan mendapat ijazah untuk bisa masuk kuliah pada tahun 1964.
pendidikannya di bidang hukum mulai dirintis semenjak itu dengan mengikuti sekolah untuk kualifikasi masuk universitas.
ia lulus pada jenjang pertama hukum di universitas gottingen tahun 1971, sebelum akhirnya mendapat kualifikasi pengacara pada tahun 1976.
dua tahun kemudian dia mulai praktik pengacara independen yang dijalaninya dari tahun 1978-1990 di hanover.
sebagai orang muda, schroeder sudah aktif di spd (partai sosial demokratik) sejak tahun 1963.
perlahan-lahan karier politiknya naik.
dari anggota pimpinan spd cabang hannover (1977), kemudian berhasil masuk parlemen jerman (1980-1986), bahkan dia menjadi pemimpin oposisi di negara bagian niedersachsen (1986-1990).
tanggal 21 juni 1990 merupakan permulaan bersinar bintang kariernya.
schroeder meraih kursi perdana menteri niedersachsen.
kemenangan spd dalam pemilu lokal 1 maret 1998 sebagai langkah awal menghentikan kubu cdu yang konservatif.
schroeder memang bukan seorang ideolog.
ia kurang suka pada aneka macam teori tetapi ahli dalam berkomunikasi dengan masyarakat.
dalam menghadapi berbagai masalah, ia lebih condong bersikap pragmatis dan sekaligus populis.
ia bisa berpenampilan sebagai orang yang sangat pro-bisnis.
di lain sisi tetap nampak sebagai seorang yang sosialis.
pemerintahannya yang terakhir dibentuk dari koalisi dua partai, spd dan partai hijau sebagai hasil dari pemilihan umum 2002.
dalam tradisi jerman, kanselir juga biasanya adalah ketua umum partainya.
gerhard schrder memimpin partai spd sampai tahun 2004, ketika ia digantikan oleh franz muntefering.
kabiner schrder ke-1 (27 oktober 1998  22 oktober 2002)
18 maret 1999  werner mller digantikan lafontaine sebagai menteri keuangan sementara, remaining also menteri ekonomi.
12 april 1999  hans eichel (spd) digantikan mller sebagai menteri keuangan.
31 juli 1999  bodo hombach leaves the cabinet.
17 september 1999  jrgen trittin (gr) digantikan mntefering sebagai menteri transportasi dan konstruksi sementara.
7 oktober 1999  reinhard klimmt (spd) digantikan trittin sebagai menteri transportasi dan konstruksi
20 november 2000  kurt bodewig (spd) digantikan klimmt sebagai menteri transportasi dan konstruksi.
18 januari 2001  renate knast (gr) digantikan funke sebagai menteri consumer protection, pangan, dan pertanian.
ulla schmidt (spd) digantikan fischer sebagai menteri kesehatan
19 juli 2002  peter struck (spd) digantikan scharping sebagai menteri pertahanan
kabiner schrder ke-2 (22 oktober 2002  22 november 2005)
gerhard schrder (spd)  kanselir
joschka fischer (gr)  wakil kanselir dan menteri luar negeri
peter struck (spd)  menteri pertahanan
otto schily (spd)  menteri perencanaan
hans eichel (spd)  menteri keuangan
brigitte zypries (spd)  menteri justice
wolfgang clement (spd)  menteri ekonomi dan perburuhan
renate knast (gr)  menteri consumer protection, pangan, dan pertanian
manfred stolpe (spd)  menteri transportasi, konstruksi, dan eastern reconstruction
renate schmidt (spd)  menteri keluarga, senior citizens, wanita, dan kepemudaan
ulla schmidt (spd)  menteri kesehatan dan social affairs
edelgard bulmahn (spd)  menteri pendidikan dan research
heidemarie wieczorek-zeul (spd)  menteri ekonomi co-operation and development
jrgen trittin (gr)  menteri lingkungan, nature conservation, and nuclear security
pemilu jerman 2005
setelah spd kalah dari cdu dalam pemilihan umum di negara bagian nordrhein-westfalen tanggal 22 mei 2005, schrder mengumumkan bahwa akan mengadakan pemilihan umum nasional "sesegera mungkin".
ia memperoleh mosi percaya (vote of confidence) dari majelis rendah jerman (bundestag) pada tanggal 1 juli 2005 dengan perbandingan suara 296 melawan 151 dan 148 suara abstain.
pemilu yang diadakan pada tanggal 18 september 2005 menghasilkan keadaan di mana masing-masing koalisi tradisional (cdu-fdp dan spd-partai hijau) tidak dapat membentuk pemerintahan karena persentasi suara yang tidak mencapai mayoritas dalam bundestag.
melalui perundingan, merkel akhirnya dipilih sebagai pengganti schrder.
merkel mulai menjabat sebagai kanselir sejak 22 november 2005.