Sebenarnya ini bisa dibuat singkat, tapi saya buat sederhana supaya bisa dimengerti, kuncinya adalah menggunakan fungsi split
open(F, "test.txt"); while ($line = <F>) { chomp($line); #hilangkan end of line $line =~ s/ //g; #hapus spasi, saya asumsikan seharusnya gak ada spasi, silakan dimodifikasi sendiri jika ternyata hanya tidak ada spasi di depan/belakang saja #pecah di karakter ":" my ($pelanggan, $to_list, $cc_list) = split(/:/, $line); ## kita gunakan array ##dengan begini, tidak peduli berapa jumlah TO dan berapa jumlah CC ## pecah di karakter |, tapi karena ini merupakan karakter spesial di regex, maka perlu diescape menjadi \| my @to = split(/\|/, $to_list); my @cc = split(/\|/, $cc_list); ## contohnya saya printkan nomor pelanggan print "nomor pelanggan: ".$pelanggan."\n"; ## dan hanya 2 TO saja yang saya print print "to_1 " . $to[0]."\n"; if ($#to>0) { print "to_2 " . $to[1]."\n"; } ## serta 2 CC saja yang saya print print "cc_1 " . $cc[0]."\n"; if ($#cc>0) { print "cc_2 " . $cc[1]."\n"; } } close(F); 2011/4/14 Preman Terminal <rot...@gmail.com>: > Rekan, saya punya berkas yg isinnya kira-kira seperti ini. > > 101 : kusto...@domain.co.id | kustomer.j...@domain.net : pemasa...@company.com > 102 : sa...@perusahaan.net > 103 : admin.sa...@cv.co.id : c...@pt.co.id | c...@pt.co.id > > Saya mau melakukan loop pada berkas ini dan mendapatkan hasil seperti ini. > Loop 1: > pelanggan=101 > to_1=kusto...@domain.co.id, to_2=kustomer.j...@domain.net > cc_1=pemasa...@company.com > Loop 2: > pelanggan=102 > to_1=sa...@perusahaan.net > Loop 3: > pelanggan=103 > to_1=admin.sa...@cv.co.id > cc_1=c...@pt.co.id,cc_2=c...@pt.co.id > > Kira-kira bagaimana caranya ya? Saya menggunakan PERL. > > -- > Bravo free software!! > /* > * http://rotyyu.wordpress.com > * YM: barca_43ver > * Gtalk: rotua.hd > */ > > -- > Berhenti langganan: linux-programming-unsubscr...@linux.or.id > Arsip dan info: http://linux.or.id/milis > > -- Regards Yohanes http://yohan.es/ -- Berhenti langganan: linux-programming-unsubscr...@linux.or.id Arsip dan info: http://linux.or.id/milis