This question is a spin-off from this one. Some history: when I first learned Perl, I pretty much always used glob rather than opendir + read
glob
opendir
read
That was a pretty comprehensive list. readdir (and readdir + grep) has less overhead than glob and so that is a plus for readdir if you need to analyze lots and lots of directories.
readdir
grep