>>699
なりすましとか最低すぎ。質問するからって遜ってやってんだよゴミクズ

threads::shared、Thread::Queueみたいな共有・排他制御がスカラ変数以外にも適応できないかと
スレッド間でのハッシュの共有・排他制御は可能か?っていうモジュールの仕様、テクニック面での質問だったのに
>>692は答えられないからって「理由は省略」とか = コード読めないし、そもそも知らないってこと? 無能きわまりないですね、ふぁっく。
>>689はアイデア出してもらってありがとう。seek()で読み取り範囲を分配させるわけですかね。出力した結果のキー部分が重複してると厄介そう

for my $input_key(nsort keys %{$inputhash{$inputfilename}}){               #このinput_keyが100万個、このfor文をマルチスレッドさせたい
  my @key1 = ()
  #中略:正規表現でキーワード配列と一致したものを @key1にpush

  my @key2 = split(/,/,$inputhash{$inputfilename}{$input_key}{$input_header[$cols_keyword]});
  for(my $j=0;$j < scalar(@key2);$j++){
    for(my $i=0;$i < scalar(@key1);$i++){                          #key1をカテゴリとして入力ハッシュを分配
      if(exists $outerhash{$key1[$i]}{$key2[$j]}){                    #すでに出力ハッシュにキーが存在していれば
        my @tmp = @{$outputhash{$key1[$i]}{$key2[$j]}{$output_header[$g]}};  #既存値を退避
        push @tmp,$inputhash{$inputfilename}{$key1}{$input_header[$g]};
        @{$outerhash{$key1}{$key2[$i]}{$outputheaders[$g]}} = @tmp_probeidlist;       #ハッシュの値を上書き
      }
      else{#キーが存在しない時
        my $k=0;
        @{$outputhash{$key1[$i]}{$key2[$j]}{$output_header[$k]}} = $inputrecs{$inputfilename}{$key1}{$headers_input[$列番号]};
        $k++;
        #以下順番に@{$outputhash{$key1[$i]}{$key2[$j]}{$output_header[$k]}}に%inputhashの任意の値を格納
      }
    }
  }
}