作者yingwan (yingwan)
看板Perl
标题[问题] match 下一行
时间Fri Apr 10 03:58:39 2009
不好意思,这可能是一个很简单的问题,还请大家见谅
我有很多档案,每个档案里面有一堆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)
1F:→ frank1983:把 $lin=$1 改成 $lin=$_ 试试看... 04/10 04:42
2F:推 LyinZ:把 for 改成 while 应该就可以了 (不改 $lin=$1 -> $lin=$_) 04/10 05:21
3F:→ yingwan:while成功了,太感激了,喔耶 04/11 00:30