我有一个像下面的数组数组与所有数值.我想用这些值执行一些数学运算.
1)添加并打印每个数组元素的值.例如
sum $VAR1 = sum1
sum $VAR2 = sum2
Run Code Online (Sandbox Code Playgroud)
2)添加每个变量的所有值.例如
sum $VAR1 + $VAR2 +...+ $VARn = totalsum
Run Code Online (Sandbox Code Playgroud)
3)寻找每个变量的总(的百分比sum1,sum2等)与totalsum.
$VAR1 = [
'17071',
'16120',
'16292',
'upto n numbers'
];
$VAR2 = [
'1306',
'1399',
'1420',
'upto n numbers'
];
.
.
.
$VARn = [
'1835',
'1946',
'upto n numbers'
];
Run Code Online (Sandbox Code Playgroud)
我已尝试下面的代码来执行第一个数组ref的添加,但它没有给我正确的值.
my $total = 0;
($total+=$_) for $input[0];
print $total;
Run Code Online (Sandbox Code Playgroud)
我这样做:
use List::Util qw(sum)
my @sums = map { sum(@{$_}) } @array;
my $sum_of_sums = sum(@sums);
my @percentages = map { $_ / $sum_of_sums } @sums;
Run Code Online (Sandbox Code Playgroud)
(编辑:在你的代码中,你需要在$ input [0]处取消引用arrayref.)