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
signature.asc
Description: Digital signature
