use strict; my $FLG = 0; my $OUTFILE = "result.log"; opendir(CURRENT, "."); while (defined(my $dir = readdir(CURRENT))) { if ($dir =~ /(.*)\.txt/i) { if ($FLG == 0) { open(WRITE, ">>./$OUTFILE"); $FLG = 1; } open(READ, "<$dir"); my @data = ; close(READ); print WRITE @data; print WRITE "\n"; } } if ($FLG == 1) { close(WRITE); } closedir(CURRENT);