mry wrote:
> 
> malam ...
> saya punya file teks seperti :
> ---
> nick tom
> nama Kucing Tom
> hobi njewer Jerry
> hobi minum susu
> nick jerry
> nama Tikus Jerry
> alamat Pojok Kamar
> status aktif
> ---
> ada data yang tidak diisi dan mungkin juga dobel. Kuncinya nick, diikuti dengan 
>[alamat [hobi [status ]]] ( bener nggak nggambar []-nya ? )

nggak :-)

> 
> pinginnya agar data di atas menjadi 'nama|alamat|hobi|status' :

maksudnya nick|nama|alamat|hobi|status ?
one way to do it:

$/ = "nick ";
while (<>) {
        chomp; next unless $_;
        @a = $_ =~
        m#(.*)\nnama (.*?)\n(?:alamat (.*?)\n)?(?:hobi (.*)\n)?(?:status
(.*))?#s;
        $a[3] =~ s/hobi/,/g;
        for (@a) { s/\n//g }
        print join('|', @a), "\n";
}

diasumsikan nama pasti ada, dan hobi dapat lebih dari satu. hasilnya:

tom|Kucing Tom||njewer Jerry, minum susu|
jerry|Tikus Jerry|Pojok Kamar||aktif

Regards,
Edwin.

-- 
Belajar sejarah? 
http://history.perl.org

--------------------------------------------------------------------------------
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]

Kirim email ke