#!/usr/local/bin/perl
while ($inputline =(<>) ) { #这段。
while ($inputline =~ /\b[A-Z]\S+/g) {
$word = $&;
$word =~ s/[;.,:-]$//; # remove punctuation
$wordlist{$word} += 1;
}
}
print ("Capitalized words and number of occurrences:\n");
foreach $capword (keys(%wordlist)) {
print ("$capword: $wordlist{$capword}\n");
}
Perl一些内置常量:
是这样
$& :与格式匹配的字符串
$` : 格式匹配信息前的字符串
$’: 格式匹配信息后的字符串
例如:
$inputline =" 12 asdf Capliz qqr 124";
$inputline =~ /\b[A-Z]\S+/;
$`:"12 asdf "
$&:"Capliz"
$':" qqr 124"
如果一个模式成功匹配上,$`, $&, $’将被设置,分别表示匹配左边、匹配、匹配右边的字符串,
while ($inputline = ) 这个应该是多行读取吧?