- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:ファイル読み込みマッチングについて)
ファイル読み込みマッチングについて
このQ&Aのポイント
- 現在二つのファイルをつき合わせて一致しないファイルを出力するようなものを作成中です
- ファイルの照らし合わせを行い、一致しないファイルのみを出力するプログラムを作成したいです
- サブルーチンのwhile(<IN2>)が一回しか回らない理由や、プログラミングの初心者として改善点などについてご指摘いただきたいです
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
ぱっとみですが、<IN2>は一度しか中身を吐かないので、一度配列につめてやる必要があります。 たとえば open(IN2,"b.txt") || die $!; @in2 = <IN2>; close(IN2); とすればb.txtの中身は行ごとに配列@in2に格納されます。そうすれば、 sub hikaku { while(@in2){ if($a eq $_){ return; } } print OUT "$a"; return; } とすれば動くと思いますよ。 ただ動作確認は行っていないので、自信は無しです。
お礼
ありがとうございます!! おかげさまで解決しました!! @in2 = <IN2>; このような引渡し方はすごく勉強になりました! ただwhile(@in2)だとまったく吐き出せなかったので それは全体に処理を行うforeach(@in2)にすることで解決しました。 ありがとうございました!!