Perl的文本处理能力很强,简单的几行代码就能实现单词的计数.
while (<>) #标准输入没有结束就循环
{
while (/(/w[/w-]*)/g) #单词匹配 /w 表示字母或者数字,g表示匹配到结束
{
$Words{$1}++; #哈希表中保存数据 $1表示当前变量
}
}
foreach (keys %Words)
{
print "$_ $Words{$_}/n"; #用foreach 输出
}
一共5行代码,加上大括号才10行.
保存为test.pl,如果你装了Perl的话,可以试一下.
测试:
C:/Perl/>perl test.pl
What is your name ?
My name is perl
^Z 文件结束.
输出:
Perl 1
your 1
What 1
My 1
name 2
is 2
C:/Perl/>
这要是用C语言,还不知道要几百行呢.
while (<>) #标准输入没有结束就循环
{
while (/(/w[/w-]*)/g) #单词匹配 /w 表示字母或者数字,g表示匹配到结束
{
$Words{$1}++; #哈希表中保存数据 $1表示当前变量
}
}
foreach (keys %Words)
{
print "$_ $Words{$_}/n"; #用foreach 输出
}
一共5行代码,加上大括号才10行.
保存为test.pl,如果你装了Perl的话,可以试一下.
测试:
C:/Perl/>perl test.pl
What is your name ?
My name is perl
^Z 文件结束.
输出:
Perl 1
your 1
What 1
My 1
name 2
is 2
C:/Perl/>
这要是用C语言,还不知道要几百行呢.