Loan Tran <[EMAIL PROTECTED]> wrote:
> mkdir ("/storage/systbl/") || die "$!\n";
> 
> The code above does not check if the dir exist.
> Can you modify it please. Thanks.

You can check whether a directory exists with the -e
and -d file test operators.

  $ perldoc -f -X

But as soon as you write code like:

  unless (-e $dirname) {
    mkdir $dirname or die "mkdir: $dirname: $!";
  }

You've got a race condition.

Since mkdir() fails if the directory exists, it's
usually better to just call it and check *why* the
call failed (if it failed) afterward.

  use Errno;

  unless (mkdir $dirname) {
    die "mkdir: $dirname: $!" 
      unless $!{EEXIST} and -d $dirname;
  }

Season to taste.
 
-- 
Steve

perldoc -qa.j | perl -lpe '($_)=m("(.*)")'

-- 
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to