【发布时间】:2010-03-22 10:08:50
【问题描述】:
我需要创建允许对文本文件中的段落进行计数的 Perl 代码。我试过了,但不起作用:
open(READFILE, "<$filename")
or die "could not open file \"$filename\":$!";
$paragraphs = 0;
my($c);
while($c = getc(READFILE))
{
if($C ne"\n")
{
$paragraphs++;
}
}
close(READFILE);
print("Paragraphs: $paragraphs\n");
【问题讨论】:
-
你能补充一些关于什么不起作用的信息吗?
-
1)
$c和$C是不同的变量。 2) 将use strict; use warnings;添加到脚本顶部。 -
这似乎计算了不是换行符的字符数。这可能不是段落的数量。根据“段落”是什么,您可能想要计算换行符,或者一个换行符跟随另一个换行符的次数。 (加上尤金指出的不同变量的事实......)
-
教你在 Perl 中使用
getc()的人应该被枪毙。 -
当然 $c 和 $C 不一样——这是我的错误。不起作用意味着它没有返回我理解的段落数量是由两个换行符分隔的文本块。
标签: perl file paragraphs