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

Kirim email ke