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]