質問: split(/,/,$_); foreach ( split(/,/, $data) ) { if ($ip eq $_) {$xdata.= "$ip,$x,$z\n";} } close(IN); 1.$fileで、$flagが1なら$ipを変数$dataに加えます。 2.$file2の$ipが、$dataの$ipに含まれていれば,$file2のデーターを$xdataに加えます。 上記の書き方で一応比較は出来ているようなのですが、perlの知識があまりない素人が適当に考えた書き方なので、自信がありません。 $data .= "$ip,";の$ipの後ろに,を入れている部分も何だか変なのですが、他の書き方が思いつけません。 書き方が間違っている場合や、こうすればもっと高速に動作させられるという書き方があれば、ご指導いただけると幸いです。 $fileも$file2も、100万行あたりまで増える見込みなので、出来るだけサーバーに負荷のかからない書き方ができればと思っています。 お手数ですが、どうぞよろしくお願いいたします。
回答: なんで配列なりハッシュなりを使おうとしないんだろう. あと, 本当に速度を気にするならデータベースの使用も視野に入れたいところ.