所以我有一个CSV文件,其中的列由:分隔。 在这种格式下,它看起来像这样 用户:组号
x:2
y:2
z:4
p:1
q:4
因此,组 x 在该组中
有 2 个用户,组 4 将有 2 个用户,组 1 将有 1 个用户。我可以在perl中使用什么来执行此操作?我似乎想不通。我想把它们放到一个哈希中,但我无法弄清楚如何计算许多具有相同值的键。
哈希是最好的方法吗?
是的,哈希是正确的数据结构。
#!/usr/bin/perl
use warnings;
use strict;
my %count;
while (<DATA>) {
chomp;
my ($user, $group) = split /:/;
++$count{$group};
}
for my $group (keys %count) {
print "Group $group has $count{$group} members.n";
}
__DATA__
x:2
y:2
z:4
p:1
q:4