File::Path - create or remove directory trees


NAME

File::Path - create or remove directory trees


SYNOPSIS

    use File::Path;
    mkpath(['/foo/bar/baz', 'blurfl/quux'], 1, 0711);
    rmtree(['foo/bar/baz', 'blurfl/quux'], 1, 1);


DESCRIPTION

The mkpath function provides a convenient way to create directories, even if your mkdir kernel call won't create more than one level of directory at a time. mkpath takes three arguments:

It returns a list of all directories (including intermediates, determined using the Unix '/' separator) created.

If a system error prevents a directory from being created, then the mkpath function throws a fatal error with Carp::croak. This error can be trapped with an eval block:

  eval { mkpath($dir) };
  if ($@) {
    print "Couldn't create $dir: $@";
  }

Similarly, the rmtree function provides a convenient way to delete a subtree from the directory structure, much like the Unix command rm -r. rmtree takes three arguments:

It returns the number of files successfully deleted. Symlinks are simply deleted and not followed.


DIAGNOSTICS


AUTHORS

Tim Bunce <Tim.Bunce@ig.co.uk> and Charles Bailey <bailey@newman.upenn.edu>