Perlで2つのテキストファイルの処理する方法
めぐみです。
tatsu99さま、以下のプログラムを親切にアドバイス頂きまして本当にありがとうございました。
追記で質問させて頂きたいことがあります。
---------------------------------------------------------------
$file_a = shift(@ARGV);
$file_b = shift(@ARGV);
open FHA,$file_a or die("can't open $file_a");
@data_a = ();
while($line=<FHA>){
chomp($line);
push @data_a,$line
}
close FHA;
open FHB,$file_b or die("can't open $file_b");
@data_b = ();
while($line=<FHB>){
chomp($line);
push @data_b,$line
}
close FHB;
foreach $da (@data_a){
printf("%s%d%d%d\n",$da,$data_b[0],$data_b[1],$data_b[2]);
printf("%s%d\n",$da,$data_b[0]);
printf("%s%d%d\n",$da,$data_b[1],$data_b[2]);
printf("%s\n",$da);
printf("%s%04d%02d%02d\n",$da,$data_b[0],$data_b[1],$data_b[2]);
printf("%s%02d%02d\n", $da,$data_b[1],$data_b[2]);
printf("%d%d%d%s\n",$data_b[0],$data_b[1],$data_b[2],$da);
printf("%d%s\n",$data_b[0],$da);
printf("%d%d%s\n",$data_b[1],$data_b[2],$da);
printf("%s\n",$da);
printf("%04d%02d%02d%s\n",$data_b[0],$data_b[1],$data_b[2],$da);
printf("%02d%02d%s\n",$data_b[1],$data_b[2],$da);
}---------------------------------------------------------
下記のような内容を追加で出力させることは難しいでしょうか。
1.B.txtを元に下記のように数字だけのデータも追加で出力させたかったです(1行目1986,2行目3,3行目6の場合)
198636
1986
36
19860306
0306
2.A.txtを元にA.txtから下記の内容も追加で出力させたかったです(4行目以降は無視して構いません)。
1行目と2行目
2行目と3行目
3行目と1行目
2行目と1行目
1行目と3行目
3行目と2行目
以上、何卒よろしくお願いいたします。
お礼
lastをつければ一発でした。。。 なぜこんなことにきがつかなかったのか、猛省してます。 本当にお世話になりました。 ありがとうございました。
補足
kmee様、続けてありがとうございます。 "初めに見つかったものだけを出力したい"、ということでした。 目的がはっきりしていませんでした、申し訳ありません。 アドバイスとおりにすこしやってみます。 ありがとうございました。