電子書籍の厳選無料作品が豊富!

よろしくお願いします.ディレクトリ内の一つのテキストファイル(joint.txt)と複数のファイルの結合を行ごとに隣へ結合するプログラムを作成しています.ここで以下のプログラムを作成したのですが,うまくいかないため,誤っている部分をご指摘願えないでしょうか.



my $dirname = '.';

opendir(DIR, $dirname) or die "$dirname: $!";

while (my $dir = readdir(DIR)) {

next unless (-f $dir);
next unless ($dir =~ /\.txt$/);

open(FILE, $dir) or die "$dir: $!";
open(FILE2,"joint.txt");

my @file = <FILE>;
my @file2 = <FILE2>;
close(FILE);
close(FILE2);
foreach my $line (@file) {
foreach my $line2 (@file2) {
chomp $line2;
$line = "$line2.",".$line";
}
}
open(NEWFILE, "> $dir") or die "$dir: $!";

print NEWFILE @file;
print NEWFILE @file2;
close(NEWFILE);
}
closedir(DIR);

A 回答 (11件中11~11件)

「うまくいかない」とはどういう状態をさしているのでしょうか?


簡単な例を挙げて「期待した動作」と「現実の動作」を説明していただけませんか?

この回答への補足

Tacosan様,いつもお世話になっております.
言葉足らずですみませんでした.

期待した動作は以下になります.

joint.txt
--------------------
1
2
3
4
5






ディレクトリ内のテキストファイル
---------------------------------
a
b
c
d
e






処理後のディレクトリ内のテキストファイル
---------------------------------
1,a
2,b
3,c
4,d
5,e






------------------------------------------
現実の動作

プログラムを実行しても変化がありません.

よろしくお願い申し上げます.

補足日時:2008/08/03 21:05
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!