我正在编写一个perl脚本,并在多次操作后获取值,如下所示:
'John', 10, .20
'John', 20, .05
'Paul', 50, .10
'Joe', 70, .03
'Joe', 12, .30
现在,我需要执行以下操作:
我试图看看这是否只能通过将此数组转换为基于第一列的哈希或者是否有更好的方法来实现。
请注意,这不是一项家庭作业。我试图通过屏蔽原始值来简化数据。值是上面给出的类型。
预期输出:
'John', 30, 0.1
'Paul', 50, 0.1
'Joe', 82, 0.06
答案 0 :(得分:1)
在尝试“清理”它以便在此处发布时找出答案:
我的代码有效:
while (<FILE>)
{
chomp($_);
my ($name, $count, $percent) = split("\t");
$hash{$name}{"count"} += $count;
if ($count != 0)
{
$sonar_out_hash{$name}{"value"} += $percent * $count / 100;
}
}
感谢@KrishnachandraSharma坚持要发帖。