如何从数组列表中计算时间平均值

时间:2013-11-02 15:57:53

标签: perl date

我有一个格式为h:mm:ss的时间数组列表。我想计算这个数组的平均时间。

我尝试了下面的代码但是包有一些问题。我成功安装了Duration包,但现在编译器在Duration :: Parse包上抛出错误。

PS:我在Windows上使用Dwinperl作为编辑器。

use Time::Duration::Parse qw(parse_duration);
use Time::Duration qw(duration);
use List::Util qw(sum);
my $count = @time;
my $sum   = sum map {parse_duration($_) } @time;
my $avg   = $sum / $count;

print duration($sum, 3), "--Total Time\n";
print duration($avg, 3), "--Avg Time\n";

这是我收到的错误消息。

Can't locate Time/Duration/Parse.pm in @INC (@INC contains: C:/Dwimperl/perl/sit
e/lib C:/Dwimperl/perl/vendor/lib C:/Dwimperl/perl/lib .) at time.pl line 7.
BEGIN failed--compilation aborted at time.pl line 7.

1 个答案:

答案 0 :(得分:1)

似乎perl无法在 @INC 路径列表中找到安装包Time::Duration::Parse

在终端中输入以下命令以检查perl是否可以默认找到您的模块

perldoc -l Time::Duration::Parse

如果上面的命令没有给你安装所需模块的位置,

  1. 确保已安装所需的模块

  2. 尝试在perl代码中添加以下行,以添加模块的自定义安装路径

    use lib '/path/to/module';