【发布时间】:2011-10-16 09:48:52
【问题描述】:
我想使用 Perl 计算消息中字符出现的频率。例如,如果字符“a”在一条消息中出现 10 次,那么频率将为 10。为此,我使用 getc 函数一次从 FILE 中读取一个字符的消息。这是我写的sn-p。这是非常基本的,我知道。但是当我编译时,我得到一个错误:
详情:
#!/usr/bin/perl
use strict;
use warnings;
my $input=$ARGV[0];
open(INPUT,"<$input");
while(<INPUT>
{
my $c=getc(INPUT);
print $c."\n";
}
close(INPUT);
当我尝试编译时出现以下错误:
Use of uninitialized value in print at AccessChar.pl line 13, <INPUT> line 1.
我无法弄清楚,这个脚本有什么问题。有人可以帮我解决这个问题吗?
我什至尝试过使用getc INPUT 而不是getc(INPUT)。我认为在运行此脚本时不需要包含任何其他包。
【问题讨论】:
-
您在该 sn-p 中出现语法错误(在
while行中)。 -
getc不工作......哦,是的。