use File::Path
mkpath(['/foo/bar/baz', 'blurfl/quux'], 1, 0711);
rmtree(['foo/bar/baz', 'blurfl/quux'], 1, 1);
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:
mkpath
to print the name of each directory as it is created
(defaults to FALSE), and
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:
rmtree
expects
Unix file specification syntax.
rmtree
to
print a message each time it examines a file, giving the
name of the file, and indicating whether it's using rmdir
or unlink
to remove it, or that it's skipping it.
(defaults to FALSE)
rmtree
to
skip any files to which you do not have delete access
(if running under VMS) or write access (if running
under another OS). This will change in the future when
a criterion for 'delete permission' under OSs other
than VMS is settled. (defaults to FALSE)