use strict; use warnings; my $directory = 'C:\test'; chdir($directory) or die "Can't chdir to $directory $!"; opendir(DIR, $directory) || die "Couldn't opendir: $!\n"; my @files = grep(/\.matched$/, readdir(DIR)); my $destdir = 'C:\test'; if (@files) { foreach(@files){ print $_, "\n";} open COMBINED, '+>>', "$destdir/combined.matched" or die "Can't open file, combined.matched: $!"; foreach(@files){ open MATCHED, '<', "$_" or die "Can't open file, $_: $!"; while(){ print COMBINED "$_";} close MATCHED; } close COMBINED; } unlink(@files); close $directory; exit 0;