Setelah hampir setahun berpisah, akhirnya ada juga kejadian yang mengharuskan memakai Perl kembali. Semua bermula dari sebuah pekerjaan sederhana : melakukan konversi dari lembar kerja Excel ke berkas CSV. Deskripsi tugasnya dapat ditulis sebagai berikut :
- Setiap berkas memiliki sembilan buah nilai yang dipisahkan oleh karakter spasi,
- Untuk mengubah berkas menjadi berkas CSV, setiap karakter spasi harus dirubah menjadi karakter koma (,),
- Nama file memiliki format n8[nomor berkas] dengan nomor berkas dari 0 – 300,
- Pada bagian awal dokumen, disisipkan sembilan nama variabel.
Tugas yang sederhana memang. Kesulitannya terdapat pada banyaknya berkas yang harus dikonversi. Total terdapat tiga ratus berkas. Misalkan untuk melakukan konversi satu berkas diperlukan waktu dua puluh detik (dengan menggunakan notepad), diperlukan waktu selama seratus menit untuk memroses seluruh data tersebut, belum ditambah waktu bengong
.
Untuk menghemat waktu, sepertinya pekerjaan tersebut dapat diselesaikan dengan program Perl sederhana. Kenapa Perl? Karena Perl memiliki kemampuan yang teruji di bidang pemrosesan dokumen. Selain itu, kebetulan di komputer ada contoh-contoh program Perl yang dibuat di masa lalu. Setelah perjuangan sepuluh menit sambil melihat-lihat program-program lama (teutama di bagian regex), terciptalah program sederhana yang kurang elegan ini :
$i = 0;
while($i <= 300){
$filename=$i;
open (IN, "file".$filename.".xls");
open (OUT, ">n8".$filename.".csv");
print OUT "x1,x2,x3,x4,x5,x6,x7,x8,y\n";
while($line = <IN>)
{
chomp($line);
$line=~s/\s/,/gi;
print OUT "$line\n";
}
close(IN);
close(OUT);
$i = $i + 1;
}
Dengan demikian, pekerjaan yang tadinya memerlukan waktu 100 menit untuk diselesaikan, dapat diselesaikan dalam waktu 10 menit
. Pelajaran yang dapat diambil adalah : Simpan contoh-contoh program sebagai sontekan di masa yang akan datang
.