それぞれ 2 つの整数を含むファイルを 1 行ずつ解析し、これらの値を 2 つの異なる変数で合計します。私の素朴なアプローチは次のようなものでした:
my $i = 0;
my $j = 0;
foreach my $line (<INFILE>)
{
($i, $j) += ($line =~ /(\d+)\t(\d+)/);
}
ただし、次の警告が表示されます。
void コンテキストでのプライベート変数の無駄な使用
+= 演算子に頼ると、リストコンテキストではなくスカラーで左辺の評価がトリガーされることを示唆しています (この点で間違っている場合は修正してください)。
配列や中間変数に頼らずに、これをエレガントに (おそらく 1 行で) 達成することは可能ですか?
関連する質問: Perl で要素ごとに配列を合計するにはどうすればよいですか?