On Tue, Sep 26, 2006 at 11:43:08AM +0700, Nasrullah . wrote:
> if($strcontent =~ /\<TITLE\>\s+(.+?)\s+\<\/TITLE\>/gi)
...

> masalahnya script ini hanya mencetak string yang terletak diantara tag
> yang terletak di paling awal saja.
> jadi yang saya ingin tanyakan  adalah bagaimana caranya agar semua string
> yang terletak diantara tag <title> dapat di print.

Itu karena yang di dalam (..) cuma bagian awal saja. Harusnya semua
dong kalo memang mau semua. $1 itu cuma yg di antara "(" dan ")" saja.

        /\<TITLE\>(.*)\<\/TITLE\>/
                  ^^^^
                   $1

Script anda bisa dipendekin jadi satu baris:

perl -ne 'print "$1\n" if /\<TITLE\>(.*)\<\/TITLE\>/;' file.txt

Atau kalo gak mau pake perl:

egrep "/\<TITLE\>.*\<\/TITLE\>/" file.txt | sed -e '</?TITLE>'

Catatan:
- Script2 di atas tidak saya tes. Mungkin ada salah sintaks, tapi yg
  penting idenya. Silakan disesuaikan kalo ada yg salah.
- Saya lihat nama script anda wordcount, mudah2an anda sudah familiar
  dengan program "wc".

Ronny

Attachment: signature.asc
Description: Digital signature

Kirim email ke