Perl:查找特定列的总和和平均值

Perl:查找特定列的总和和平均值,perl,Perl,我想计算windows上Perl中每一行的所有itemsX(其中X是一个数字)的平均值 我有以下格式的文件: id1 item1 cart1 id2 item2 cart2 id3 item3 cart3 0 11 34 1 22 44 2 44 44 1 44 44 55 66 34 45 55 33 要查找项目块的总和及其平均值。 有什么帮助吗 以下是我迄今为止所尝试的: use strict; use w

我想计算windows上Perl中每一行的所有itemsX(其中X是一个数字)的平均值

我有以下格式的文件:

id1 item1 cart1 id2 item2 cart2 id3 item3 cart3
0     11    34    1   22    44   2   44    44
1     44    44    55  66    34   45  55    33
要查找项目块的总和及其平均值。 有什么帮助吗

以下是我迄今为止所尝试的:

use strict;
use warnings;

open my $fh, '<', "files.txt" or die $!;

my $total = 0;
my $count = 0;

while (<$fh>) {
    my ($item1, $item2, ) = split;
    $total += $numbers;
    $count += 1;
}
使用严格;
使用警告;

打开my$fh,“对于输入的第一行(列名),我们存储以item开头的列的索引。对于后续的每一行,我们对从
@index
派生的数组切片引用的列求和

use strict;
use warnings;

use List::Util qw(sum);

my @indices;

while (<DATA>) {
    my @fields = split;

    if ($. == 1) {
        @indices = grep { $fields[$_] =~ /^item/ } 0 .. $#fields;
        next;
    }

    my $sum = sum(@fields[@indices]);
    my $avg = $sum / scalar(@indices);
    printf("Row %d stats: sum=%d, avg=%.2f\n", $., $sum, $avg);
}

__DATA__
id1 item1 cart1 id2 item2 cart2 id3 item3 cart3
0     11    34    1   22    44   2   44    44
1     44    44    55  66    34   45  55    33

我是初学者,我尝试过严格的使用;使用警告;打开我的$fh,'然后是什么问题呢?非常感谢我尝试过,但问题是我们只需要对项目列求和并求平均值,但它会占用文件的每一列代码中的$number是什么?mariakhalid,如果你觉得这是最好的答案,那么你应该接受它,而不是发表“谢谢”的评论。
Row 2 stats: sum=77, avg=25.67
Row 3 stats: sum=165, avg=55.00