Using the -d test operator in perl
-d
returns true if the following string is a directory.
See -X
in perlfunc.
It checks whether the directory exists or not. There are many more file test operations available, such as below:
1. -r File is readable by effective uid/gid.
2. -w File is writable by effective uid/gid.
3. -x File is executable by effective uid/gid.
4. -o File is owned by effective uid.
5.
6. -R File is readable by real uid/gid.
7. -W File is writable by real uid/gid.
8. -X File is executable by real uid/gid.
9. -O File is owned by real uid.
10.
11. -e File exists.
12. -z File has zero size (is empty).
13. -s File has nonzero size (returns size in bytes).
14.
15. -f File is a plain file.
16. -d File is a directory.
17. -l File is a symbolic link.
18. -p File is a named pipe (FIFO), or Filehandle is a pipe.
19. -S File is a socket.
20. -b File is a block special file.
21. -c File is a character special file.
22. -t Filehandle is opened to a tty.
23.
24. -u File has setuid bit set.
25. -g File has setgid bit set.
26. -k File has sticky bit set.
27.
28. -T File is an ASCII text file (heuristic guess).
29. -B File is a "binary" file (opposite of -T).
30.
31. -M Script start time minus file modification time, in days.
32. -A Same for access time.
33. -C Same for inode change time (Unix, may differ for other platforms)