use File::Copy; #use strict; my $dirpath="C:\\inetpub\\performancetesting\\output\\new\\mlx\\aar\\"; my $dirpath2="c:\\temp\\"; opendir(IN,"$dirpath") or die "opening directory failed:$!"; while (defined (my $file = readdir(IN)) ) { push (my @files, $file); foreach my $filename (@files) { copy ("$dirpath".$filename, "$dirpath2".$filename) or warn "Can't open the file yet $filename\n:$!"; need something like my @files=grep { $_ ne '.' && $_ ne '..'} } } closedir(IN);