use Cwd; my $dir = getcwd; opendir (DIR, $dir) or die $!; my @dir = readdir DIR; foreach my $item (@dir) { print "$item," if -r $item and -w $item and -x $item and $item =~ /^[a-zA-Z]/ ; # Readable and not writable }