When
readdir returns a value, all it returns is the file name, as opposed to the full path. Therefore, when you pass that file name to
open or to
-X, it will look for a file by that name in the current working directory not in the directory that you opened (unless they happen to be the same). The code snippet does the following:
- Opens the directory named $some_dir and associates it with the directory handle DIR
- Gets a list of all filenames and passes that through a grep that:
- checks that the file name starts w/ a period (.)
- checks that the file name with the path appended on the front is a file
and stores the results in an array
- Closes the directory handle
Therefore, this code snippet will return a list of all files (not folders) in the directory
$some_dir whose names start with periods. On UNIX-like systems, such files are frequently used to store configuration information, e.g. .login, .cshrc