[問題] match 下一行

看板Perl作者 (yingwan)時間16年前 (2009/04/10 03:58), 編輯推噓1(102)
留言3則, 3人參與, 最新討論串1/2 (看更多)
不好意思,這可能是一個很簡單的問題,還請大家見諒 我有很多檔案,每個檔案裡面有一堆tag,但我只想要<cite>XXXOOO</cite> 不過每次都只能抓到第一行,偏偏我也不知道檔案裡有幾個 所以 for i loop的 i我不知道設多少 試了一堆方法都沒有成功 我是這樣寫的,希望有高手提點一下,謝謝 open(READ, "<$file") || die "Can't read $file: $!\n"; my @lin = <READ>; chomp @lin; close (READ); foreach (@lin) { #for ($i=1; $i<=$coun; $i++) { for (/<cite>(.*?)<\/cite>/ig) { $lin=$1; $lin=~ s/<b>//g; $lin=~ s/<\/b>//g; $lin=~ s/\s//g; $lin=~ s/-\d+k-//g; $lin=~ s/\d+hoursago-//g; $lin=~ s/\d+minutesago-//g; $lin=~ s/-$//g; $lin=~ s/https:\/\///g; push (@lins, $lin); $coun++; #} } } -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.182.135.55 ※ 編輯: yingwan 來自: 140.182.135.55 (04/10 04:00)

04/10 04:42, , 1F
把 $lin=$1 改成 $lin=$_ 試試看...
04/10 04:42, 1F

04/10 05:21, , 2F
把 for 改成 while 應該就可以了 (不改 $lin=$1 -> $lin=$_)
04/10 05:21, 2F

04/11 00:30, , 3F
while成功了,太感激了,喔耶
04/11 00:30, 3F
文章代碼(AID): #19tbDm96 (Perl)
討論串 (同標題文章)
文章代碼(AID): #19tbDm96 (Perl)