我想逐行解析一个文件,每个文件都包含两个整数,然后将这些值加到两个不同的变量中。我天真的方法是这样的:
my $i = 0;
my $j = 0;
foreach my $line (<INFILE>)
{
($i, $j) += ($line =~ /(\d+)\t(\d+)/);
}
但它会产生以下警告:
在 void 上下文中无用地使用私有变量
暗示诉诸 += 运算符会触发以标量而不是列表上下文对左侧进行评估(如果我在这一点上错了,请纠正我)。
是否可以在不借助数组或中间变量的情况下优雅地(可能在一行中)实现这一点?
相关问题:如何在 Perl 中按元素对数组求和?