Perl, yang merupakan singkatan dari "Practical Extraction and Reporting Language," adalah bahasa pemrograman tingkat tinggi yang bersifat umum dan dikenal karena kemampuannya dalam memproses teks. Dikembangkan oleh Larry Wall pada akhir 1980-an, Perl telah berkembang menjadi alat yang serbaguna untuk scripting, manipulasi data, dan pengembangan web. Sering disebut sebagai "pisau Swiss" dari bahasa pemrograman, Perl ditandai dengan fleksibilitasnya, pustaka yang luas, dan seperangkat fungsi bawaan yang kaya yang memungkinkan pengembang menangani tugas-tugas kompleks dengan kode yang minimal.
Perl diciptakan oleh Larry Wall pada tahun 1987 sebagai solusi untuk mengatasi kekurangan alat yang ada untuk pemrosesan teks dan pembuatan laporan. Awalnya dirancang untuk tugas administrasi sistem Unix, Perl dengan cepat mendapatkan popularitas karena kemampuannya untuk mengintegrasikan fungsionalitas dari berbagai bahasa pemrograman. Desainnya terinspirasi dari bahasa seperti C, sed, awk, dan scripting shell.
Selama bertahun-tahun, Perl telah berkembang secara signifikan. Perl 5, yang dirilis pada tahun 1994, memperkenalkan banyak peningkatan seperti fitur pemrograman berorientasi objek dan sistem modul yang kuat, mengukuhkan posisi Perl dalam lanskap pemrograman. Comprehensive Perl Archive Network (CPAN) didirikan untuk menyediakan repositori terpusat dari modul-modul Perl, yang lebih memperluas kemampuannya.
Perl 6, yang kemudian dikenal sebagai Raku, dirancang sebagai bahasa saudara untuk Perl 5, memperkenalkan sintaks dan fitur yang diperbarui. Transisi dari Perl ke Raku berjalan mulus bagi banyak pengembang. Hingga tahun 2023, Perl terus memiliki komunitas yang aktif, dan meskipun menghadapi persaingan dari bahasa-bahasa baru, ia tetap relevan dalam pemrosesan teks, administrasi sistem, dan pengembangan web.
Perl menggunakan simbol $
untuk menunjukkan variabel skalar, yang dapat menyimpan nilai tunggal.
my $name = "John Doe";
my $age = 30;
Array ditandai dengan @
, sementara hash (array asosiatif) menggunakan %
.
my @colors = ("red", "green", "blue");
my %fruit_color = ("apple" => "red", "banana" => "yellow");
Perl mencakup struktur kontrol seperti if
, unless
, dan loop seperti for
, foreach
, dan while
.
if ($age > 18) {
print "Dewasa\n";
}
foreach my $color (@colors) {
print "$color\n";
}
Perl terkenal karena kemampuan regex-nya yang kuat, memungkinkan pencocokan dan manipulasi string yang kompleks.
if ($name =~ /Doe$/) {
print "Nama belakang adalah Doe\n";
}
Perl mendukung subrutin, memungkinkan penggunaan kembali kode dan pemrograman modular.
sub greet {
my ($name) = @_;
return "Halo, $name!";
}
print greet("Alice");
Fungsi-fungsi Perl menunjukkan sensitivitas konteks, berperilaku berbeda berdasarkan konteks di mana mereka dipanggil (skalar atau daftar).
my $count = @colors; # Konteks skalar
my @copy = @colors; # Konteks daftar
Perl memungkinkan variabel diinterpolasi langsung di dalam string yang diberi tanda kutip ganda.
print "Nama saya adalah $name\n";
Perl menyederhanakan penanganan file melalui fungsi bawaan seperti open
, read
, dan close
.
open(my $fh, '<', 'file.txt') or die "Tidak dapat membuka file: $!";
while (my $line = <$fh>) {
print $line;
}
close($fh);
Perl menggunakan blok eval
untuk penanganan kesalahan, memungkinkan pengecualian ditangkap.
eval {
die "Terjadi kesalahan!";
};
if ($@) {
print "Kesalahan tertangkap: $@";
}
Perl mendukung pemrograman berorientasi objek dengan paket dan kelas.
package Animal;
sub new {
my $class = shift;
my $self = {};
bless $self, $class;
return $self;
}
Perl pada dasarnya adalah bahasa yang diinterpretasikan, biasanya dieksekusi melalui interpreter Perl. Implementasi yang paling umum adalah Perl 5, yang tersedia di berbagai platform termasuk Windows, Linux, dan macOS. Dalam beberapa tahun terakhir, varian seperti Strawberry Perl dan ActivePerl telah muncul untuk menyederhanakan instalasi di sistem Windows.
Meskipun Perl dapat dikembangkan di editor teks mana pun, beberapa IDE dan editor teks menyediakan dukungan yang lebih baik, termasuk:
Untuk membangun proyek Perl, pengembang biasanya menyertakan file Makefile
atau Build.PL
, yang mendefinisikan ketergantungan dan opsi konfigurasi untuk proyek.
perl Makefile.PL
make
make test
make install
Perl banyak digunakan di berbagai domain, termasuk:
Filosofi desain Perl menekankan praktik dan fleksibilitas, yang membedakannya dari beberapa bahasa pemrograman lainnya:
Saat menerjemahkan kode Perl ke bahasa lain, pertimbangkan hal-hal berikut:
Meskipun tidak ada alat terjemahan sumber ke sumber yang luas khusus untuk Perl, beberapa alat umum seperti parrot
(sebuah mesin virtual yang digunakan untuk bahasa tingkat tinggi) dan transpiler dapat memfasilitasi proses tersebut. Untuk aplikasi tertentu, refactoring manual mungkin diperlukan untuk mencocokkan idiom bahasa target.