Wiggins D'Anconia wrote: > > B. Fongo wrote: > > I want to use mkdir(blah blah, o777), but want to first find out > > whether the directory "blah blah" exists. > > I'm not if the -e option will bw right here. Let's say: > > > > unless (-e blah_blah) mkdir(blah_blah, 0777); > > # Is this okay? > > > > > > In general -e checks for file existence, -d checks to see if an existing > file is a directory (or complains that the file doesn't exist). > > perldoc -f -e > > So your above code leaves a condition, where blah_blah exists but is > *not* a directory which is likely to cause you problems. But since you > haven't told us what happens in this failure case it is hard for us to > say, but, > > if (-e blah_blah) { > unless (-d blah_blah) { > die "File exists but is not directory"; > } > } > else { > # don't forget to check mkdir's failure > mkdir(blah_blah, 0777) or die "Can't make directory: $!"; > }
Just a note: There's no need to do a separate -e call to check whether a directory exists, -d won't throw an error. A simple die "$dir is not directory" unless -d $dir; Will check that $dir both exists and is a directory, which is probably all that is needed. Rob -- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] <http://learn.perl.org/> <http://learn.perl.org/first-response>