kalo file.txt kecil, ditelan semua ke memori aja dengan
one-liner berikut...
$ perl -0777 \
-ne'%c=/^# HEAD: Item (\d+)\n# BEGIN\n(.+?)^# END\n/msg' \
file.txt
tinggal hash %c difeed ke dbm file Anda.
kalo file.txt gede, terpaksa dibaca per baris. coba
lihat operator .. di man perlop.
--
sh
At 11:26 AM 3/7/2001, you wrote:
>Hallo semua...
>
>Saya mempunyai satu masalah. Begini...
>
>Saya mempunyai sebuah text file, dengan format seperti ini:
>
>$ cat file.txt
># HEAD: Item 1
># BEGIN
>Isi dari item 1 semua ditulis disini, sampai ketemu baris dengan tanda #
>END, kalo belom #END, yah lanjut terus
># END
>
># HEAD: Item 2
># BEGIN
>Kalo yang ini, item 2
># END
>
>.
>.
>.
>
>seterusnya hingga selesai. Dalam satu file, maksimal ada 20000 item.
>
>Saya perlu membuat program dengan input file.txt tadi yang dapat memasukkan
>semua entry yang ada ke dalam hash file (DB_File). Jadi nantinya kurang
>lebih isi hash tersebuat adalah: <Item> <-> <Isi dari item>
>
>Karena pengalaman saya dengan Perl belum terlalu banyak, saya ingin
>menanyakan bagaimana cara untuk membaca file.txt sehingga saya bisa membaca
>dan menyimpan data seperti yang saya inginkan.
>
>Kalau saja:
># HEAD: Item 1 BEGIN
>Isi dari item #END itu hanya satu 1 item per file, saya tinggal membuat
>procedure dan dengan bantuan File::Find, akan sangat mudah, karena untuk
>satu item, saya nggak perlu pusing, cukup dengan menggunakan open atau
>sysopen, lalu saya baca deh isi filenya.
>
>Kembali ke masalah semula, bagaimana yah cara mengatasinya? Saya belum
>begitu paham dengan function seek dan kawan-kawannya. Apakah masalah itu
>bisa diatasi dengan function seek dari Perl? Ada yang bisa memberikan
>contoh?
>
>Pertolongan Anda sangat saya hargai, terima kasih sebelumnya! ;)
>
>/john
--------------------------------------------------------------------------------
Utk berhenti langganan, kirim email ke [EMAIL PROTECTED]
Informasi arsip di http://www.linux.or.id/milis.php3
Pengelola dapat dihubungi lewat [EMAIL PROTECTED]