|
動くかわからんけどとりあえずできた sub read_file_to_array { #←? my $file = shift; open (FILE, "<$dir\\$database\\Defect\\$file") or die "Can't open $file\n"; open (OUT1, ">$dir\\$database\\Defect\\${file}_1") or die; open (OUT2, ">$dir\\$database\\Defect\\${file}_2") or die; my ($flag1, $flag2); while (<FILE>) { if ( /-1/ ) { $flag1 = 1; } if ( /-2/ ) { $flag2 = 1; $flag1 = 0; } if ($flag2) { print OUT2; next; } if ($flag1) { print OUT1; next; } } } |
|
うぎょぎょ。。if ($flag2) {〜の部分の順番が逆になっちゃってるし。ダサ・・ closeしてないし・・終了時に閉じられるから大丈夫かアハハ |
|
>>2251 ミング 必ずデータの先頭が .*-1 か .*-2 であるなら while (<FILE>) { if ( /-[12]/ ){ chomp; open (OUT, ">$dir\\$database\\Defect\\$_") or die; next; } print OUT; } かなぁと思うんですが、違うかな? 業務用プログラムかだとちゃんとエラーチェックしないとまずい でしょうが、データの内容がある程度保証されているなら、こんな テキトーな感じでよろしいかと思います。 |
|
ナナシサソさん、68userさん 出来ました!! ご指導どうもありがとうございました。 |