特定の基準ではるかに大きなリストと比較し、結果を保存する必要がある行のリスト (約 2K) があります。だから私がやっていることは次のとおりです。
foreach( keys %lines1 )
{
($orig1,$orig2,$orig3) = (split( /,/, $lines1{$_}))[1,2,3]
push( @result, grep{ ($data1,$data2,$data3) = (split( /,/, $lines2{$_})[1,2,3];$orig1 == $data1 && $orig2 == $data2 && $orig3 == $data3 } keys %lines2 );
$hash_result{$count} = @result;
}
問題は@result
データの蓄積です。したがって、最初の実行ではサイズが 1 で、2 回目にデータがプッシュされ、サイズは 2 です。古い行が一致し、新しい行が一致します。
明らかな何かが欠けているように感じますが、何を覚えていません。
どちらのリストも CSV と同じファイルから取得されます。それらは 1 つのフィールドによって異なります。
入力:
data1,data2,data3,data4,data5,data6,data7,data8,0 - $line1
data1,data2,data3,data4,data5,data6,data7,data8,1 - $line2
タイプの行が数行あり$line1
ます。
出力: 出力では、おそらく list の list のハッシュである必要があります。タスクは次のとおりです:$line1
一致するものすべてについて、いくつかの統計を計算します。
誰か助けてくれませんか?
それとも、私はそれを完全に間違っていますか?
[編集]
ここで探しているのは、次のようなものです。
"$hash_result{$count} = [[1,2,3,10,4,6][1,2,3,5,3,11][1,2,3,100,60,20]]"
$count 行でいくつかの統計を計算できるようにします。
[/編集]