Saya ingin mengurai file baris demi baris, yang masing-masing berisi dua bilangan bulat, lalu menjumlahkan nilai-nilai ini dalam dua variabel berbeda. Pendekatan naif saya adalah seperti ini:
my $i = 0;
my $j = 0;
foreach my $line (<INFILE>)
{
($i, $j) += ($line =~ /(\d+)\t(\d+)/);
}
Tapi itu menghasilkan peringatan berikut:
Penggunaan variabel pribadi yang tidak berguna dalam konteks kosong
mengisyaratkan bahwa menggunakan operator += memicu evaluasi sisi kiri dalam skalar alih-alih konteks daftar (mohon koreksi saya jika saya salah dalam hal ini).
Apakah mungkin untuk mencapai hal ini secara elegan (mungkin dalam satu baris) tanpa menggunakan array atau variabel perantara?
Pertanyaan terkait: Bagaimana cara menjumlahkan array berdasarkan elemen di Perl?