opendir DIR, $directory or die "Couldn't open $directory : $!\n"; @files = readdir( DIR ) or die "Couldn't read from $directory : $!\n"; closedir( DIR ); @files = grep @files, { /\.txt$/ && -f $_ };