- 締切済み
二つのファイルを1行ずつ出力するperlプログラム
perl初心者です。 二つのテキストファイルを1行ずつ交互に出力するプログラムを作成しています。 コマンドラインからファイル名を渡して、 (二つのファイル名がそれぞれファイルa、ファイルbとした時) 1:ファイルa 1行目 2:ファイルb 1行目 3:ファイルa 2行目 4:ファイルb 2行目 となるようにしたいです。 while <STDIN> などを使うのでしょうか? 自分の知識ではプログラミングしきれそうにないのでどのようにしたらいいのか回答お願い致します。
- みんなの回答 (4)
- 専門家の回答
みんなの回答
- Wap58
- ベストアンサー率33% (29/87)
use strict; my($anan,$bnbn,$cncn); chomp( $anan = <STDIN> ); chomp( $bnbn = <STDIN> ); open K,"$anan" or print"$!\n"; open G,"$bnbn" or print"$!\n"; while(chomp( $cncn = <STDIN> )){ if( $cncn == 1 ){ while(<K>){ print'a ',$_; last;} }elsif( $cncn == 2 ){ while(<G>){ print'b ',$_; last;} }elsif( $cncn == 3 ){ exit; }else{print"Error...\n";} } __END__ これならお好みで表示されます
- Wap58
- ベストアンサー率33% (29/87)
use strict; my($anan,$bnbn); chomp( $anan = <STDIN> ); chomp( $bnbn = <STDIN> ); open K,"$anan" or print"$!\n"; open G,"$bnbn" or print"$!\n"; while(<K>){ print'1 ',$_; while(<G>){print'2 ',$_; last;} } __END__ 多分、こんな感じでいけると思います 文字列の多いテキストを先にタイプして下さい
- wormhole
- ベストアンサー率28% (1626/5665)
1つのテキストファイルを1行ずつ出力するプログラムは作れるのでしょうか?
- notnot
- ベストアンサー率47% (4900/10358)
プログラムを練習が目的ですか? 単にそういうファイルを作るだけなら、Linuxなら paste -d "\n" a b でできます。