看板 Perl 關於我們 聯絡資訊
不好意思,這可能是一個很簡單的問題,還請大家見諒 我有很多檔案,每個檔案裡面有一堆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)
frank1983:把 $lin=$1 改成 $lin=$_ 試試看... 04/10 04:42
LyinZ:把 for 改成 while 應該就可以了 (不改 $lin=$1 -> $lin=$_) 04/10 05:21
yingwan:while成功了,太感激了,喔耶 04/11 00:30