我有一个哈希,其键是时间实例,值是以毫秒为单位的处理时间。我正在研究一个解决方案,其中用户将输入一个时间值,作为回报,应该在输入时间之前获得所有处理时间的平均值。
示例:如果用户输入07:47:42,他应该得到按键的处理时间的平均值04:46:41,03:46:37,06:47:41,00:45:35,01:46 :05。
请建议如何执行此操作。我是否需要及时转换字符串,或者只能在字符串中完成。任何代码示例都会非常有用。谢谢!
$VAR1 = {
'01:46:05' => '119.947ms',
'11:47:47' => '165.916ms',
'15:48:51' => '164.226ms',
'19:50:22' => '159.873ms',
'10:47:45' => '177.947ms',
'04:46:41' => '174.613ms',
'16:49:22' => '169.104ms',
'00:45:35' => '122.289ms',
'18:49:52' => '158.956ms',
'06:47:41' => '145.969ms',
'09:47:44' => '85.786ms',
'12:48:16' => '132.169ms',
'05:47:11' => '186.575ms',
'03:46:37' => '131.529ms',
'07:47:42' => '121.417ms',
'21:50:55' => '171.268ms',
};
答案 0 :(得分:2)
sub sum { my $acc; $acc += $_ for @_; $acc }
sub avg { sum(@_) / @_ }
my $cutoff = '07:47:42';
my $result =
avg
map { substr($VAR1->{$_}, 0, -2) }
grep { $_ lt $cutoff }
keys %$VAR1;