Cara Mengubah Dan Menghilangkan Teks Di PERL

PERL LOGO

Mengganti kata atau menghilangkan kata terkadang sangat diperlukan untuk setiap hal penting. Contohnya seperti mengambil konten dari website lain, tentunya setiap orang meng-ingininkan konten yang seperlunya saja dan tidak semuanya, jadi yang tidak perlu dapat dihilangkan atau diubah. Jika di PHP namanya str_replace dan preg_replace, tapi kalau di PERL hanya memakai satu cara yaitu menggunakan Regexp (Regular Expression).

Jika dibandingkan dengan PHP, Bahasa PERL memang tidak memiliki banyak fungsi yang menonjol, tapi ada juga fungsi PERL yang tidak dapat digunakan di PHP. Hingga saat ini kebanyakan website lebih banyak menggunakan PHP ketimbang PERL, dan bahkan kebanyakan hosting murah juga hanya memberikan fasilitas penggunaan PHP saja.

Yang akan dibahas kali ini adalah cara replace atau remove teks menggunakan regexp di PERL dengan cara yang mudah. Cara pertama adalah mengubah teks menggunakan regexp. Perhatikan dulu kode dibawah ini.

#!/usr/bin/perl
$teks = "Halo nama saya adalah Anu";
$teks =~ s/Halo/Hai/g;
#atau
$teks =~ s/halo/Hai/gi;

Kode diatas adalah cara untuk mengubah teks. Jadi diatas saya bagi 2 string sama.
Perhatikan bagian akhir dari setiap string $teks yaitu tanda g. Yang pertama hanya tanda g saja tapi yang kedua adalah tanda gi yang artinya dari tambahan i yaitu Case Sensitive. Kode diatas jika ditampilkan akan menunjukan teks Hai nama saya adalah Anu

Contoh untuk menghilangkan teks menggunakan regexp bisa dilihat pada kode dibawah ini.

#!/usr/bin/perl
$teks = "Halo nama saya adalah Anu";
$teks =~ s/Halo//g;
#atau
$teks =~ s/halo//gi;

Penjelasan tentang akhiran g Sama seperti penjelasan diatas tentang mengubah teks. Hanya saja disini kamu dapat mengosongkan teks yang akan diubah, jadi otomatis teks tersebut akan hilang atau bisa lebih dimaksudkan sebagai mengubahnya sebagai teks kosong 😀 .

Jika dilihat dengan teliti, cara ini hampir mirip dengan str_replace di PHP, hanya saja lebih simple dan mudah. Saya juga menyediakan fungsi str_replace yang dapat digunakan di PERL , Silahkan salin kode dibawah ini

#!/usr/bin/perl
sub str_replace {
my $replace_this = shift;
my $with_this = shift;
my $string   = shift;
my $length = length($string);
my $target = length($replace_this);
for(my $i=0; $i<$length - $target + 1; $i++) {
if (substr($string,$i,$target) eq $replace_this) {
$string = substr($string,0,$i) . $with_this . substr($string,$i+$target);
return $string;
}
}
return $string;
}

Kode diatas saya dapatkan dari situs lain yang membahas bahasa PERL, jadi saya bagi juga supaya bisa menikmati fungsi str replace sama seperti di PHP hehe 🙂 . Untuk pemanggilan fungsi diatas cukup seperti ini

$teks = str_replace('sebelum','sesudah', $string);
print $teks."\n";

Cukup mudah bukan..? Sekarang kamu sudah bisa kreasikan sesuai yang kamu inginkan dan sebenarnya atribut g yang saya jelaskan diatas tidak hanya i saja, tapi ada banyak, kamu dapat melihatnya disini.

Semoga bermanfaat dan Selamat mencoba

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *