How to see if a directory exists or not in Perl?

To see if a file exists before using it, we can use:

if (-e "filename.cgi")
{
 #proceed with your code
} 

But how to indentify a directory exists or not?


Use -d (full list of file tests)

if (-d "cgi-bin") {
    # directory called cgi-bin exists
}
elsif (-e "cgi-bin") {
    # cgi-bin exists but is not a directory
}
else {
    # nothing called cgi-bin exists
}

As a note, -e doesn't distinguish between files and directories. To check if something exists and is a plain file, use -f.