新手问个字符串匹配的问题

新手问个字符串匹配的问题

新手问个字符串匹配的问题
如果一个文件是分多行存放的
如:
asdfasdfasdf
asdfasdfasdfasdf
asdfasdf
asdfasdfasdf
.
.
.
如果想判断前三行一共有几个字符该怎么做呀?
如果前三行字符大于30就输出,如果小于就不输出~

谢谢大家了
open (F,'A.txt...
open (F,'A.txt');
for (1..3){
$s.=<F>;
}
close F;
print $s if (length($s)>30)




   

多谢了~--发...
多谢了~
发现length()会把换行符也当作一个字符来处理。

如果是文件中有记号来标识比如:
#sdfas
sdfasdf
asdfasdf
#sfsfsf
asdf
sdfsfg
#sdfadfg
sfadffsf
sfsafd
.
.
.
怎么样来计算两个#之间字串的长度呢?
上面的那个for循环好像就不行了~
open(F,'flie.t...
open(F,'flie.txt') || die "$! -- $^E\n";
my $e=0;
my $s='';

for ( <F> ) {
chomp; # 如果你不想将换行符计算在内
$e = 1 if s/^#//;
if ( $e == 1 ) {
$s .= "$_";
}
else {
next if $s eq '';
print length $s,"\n" and $s = '' if $s ne '';
$e = 0;
}
}
多谢了!-- 多谢了!

搞定了~~
:) 灌水........
[color=red]灌~...
[color=red]灌~ [/color]
也可以设置行尾...
也可以设置行尾分割符号
{
local $/ = '#';
open(FILE, "A.txt");
my $s = <FILE>;
$s = s/[\r\n]//g; #如果不计算换行回车的话
print $s if length($s)>30;
}