chdir $dir or die "Can't cd to $dir: $!"; opendir DIR, $dir or die "Can't read $dir: $!"; my @files = map { "$dir\\$_" } grep { /\.bat$/ } readdir DIR; closedir DIR;