@node File/Path, File/PathConvert, File/Listing, Module List
@unnumbered create or remove a series of directories


@unnumberedsec NAME

File::Path - create or remove a series of directories

@unnumberedsec SYNOPSIS

@code{use File::Path}

@code{mkpath([@'/foo/bar/baz@', @'blurfl/quux@'], 1, 0711);}

@code{rmtree([@'foo/bar/baz@', @'blurfl/quux@'], 1, 1);}

@unnumberedsec DESCRIPTION

The @code{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.  @code{mkpath} takes three arguments:

@itemize @bullet
@item 
the name of the path to create, or a reference
to a list of paths to create,

@item 
a boolean value, which if TRUE will cause @code{mkpath}
to print the name of each directory as it is created
(defaults to FALSE), and

@item 
the numeric mode to use when creating the directories
(defaults to 0777)

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

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

@itemize @bullet
@item 
the root of the subtree to delete, or a reference to
a list of roots.  All of the files and directories
below each root, as well as the roots themselves,
will be deleted.

@item 
a boolean value, which if TRUE will cause @code{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)

@item 
a boolean value, which if TRUE will cause @code{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)

@end itemize
It returns the number of files successfully deleted. Symlinks are
treated as ordinary files.

@unnumberedsec AUTHORS

Tim Bunce <@file{Tim.Bunce@@ig.co.uk}>
Charles Bailey <@file{bailey@@genetics.upenn.edu}>

@unnumberedsec REVISION

This module was last revised 14-Feb-1996, for perl 5.002. $VERSION is
1.01.

