I'd suggest creating a function that checks whether the directory exists before creating it
sub createDir { my $dirName = shift; if (-e $dirName) { if (-d $dirName) { return "Directory $dirName already exists!"; } else { return "Can't create $dirName because there's a file in th +e way!"; } } mkdir $dirName or return $!; }
No. Just no. Or in more words: TOCTTOU.
The only sane way to do this is to run mkdir and have it fail in case the target already exists. This way, the operating system guarantees that there won't be a race.
mkdir $path or die "Can't mkdir $path: $!";
It will fail with EEXISTS at least on Unix and Windows if the target already exists. There are several more possible errors, e.g. lack of permissions, filesystem problems. See POSIX.
Alexander
In reply to Re^2: using online translation engines with perl
by afoken
in thread using online translation engines with perl
by Aldebaran
| For: | Use: | ||
| & | & | ||
| < | < | ||
| > | > | ||
| [ | [ | ||
| ] | ] |