【发布时间】:2015-03-14 05:31:21
【问题描述】:
我想每行打印最多 10 个结果,然后在 10 个之后强制换行。我该怎么做?
这是代码:
my @email;
my @gender;
my @state;
while ( <> ) {
chomp;
my @fields = split /,/;
push @gender, $fields[5];
push @email, $fields[3];
push @state, $fields[4];
}
#records
print "There are $_ records in this file\n" for scalar (@email-1);
print "\n";
#gender
my %count;
$count{$_}++ for @gender;
while( my ($gender => $count) = each %count) {
delete $count{gender};}
print "Male/Female distribution:\n";
print join(' ',%count), "\n";
print "\n";
#email
#states
my %scount;
$scount{$_}++ for @state;
while( my ($state => $scount) = each %scount){
delete $scount{state};}
print join(' ',%scount), "\n";
及其结果:
8 NC 292 OK 163 NY 901 VA 477 PA 195 NE 62 OH 711 WV 37 NM 10 MO 7 NH 77 MA 689 MN 431 TX 920 ME 81 NJ 673 RI 91 AL 230 KS 22 ND 31 FL 461 CT 305 CA 1262 IA 139 DE 33 CO 118 MI 378 IN 211 AR 163 IL 811 KY 11
例如,我想要在NM 10 之后换行。
【问题讨论】:
-
你提供输入文件,这将更有帮助,也是预期的输出..
标签: arrays perl count format newline