I've recently written a module that I have titled "Dir::TreeBuild" and
would like to contribute it to CPAN. Its functionality definately would
belong in the 'Dir' namespace, so I wanted to converse with you to see
if you'd be interested in allowing me to do so, since I assume 'Dir' is
your namespace.
For your inconvenience, here is the current POD documentation:
<SNIPPET>
NAME
Dir::TreeBuild - Perl extension for creating directory trees
SYNOPSIS
use Dir::TreeBuild;
%tree = ( 'level1' => { 'down1a' => {}, 'down1b' => { 'down2a' =>
{},
'down2b' => {} }, 'down1c' => {} }, 'level2' => {} );
$tree = Dir::TreeBuild->new(struct => \%tree, top => $path );
$tree = new Dir::TreeBuild;
$tree->top($path);
$top = $tree->top;
$tree->struct(\%tree);
%tree = $tree->struct;
$tree->umask($octal);
$tree->build;
$tree->deltree;
DESCRIPTION
Dir::TreeBuild provides the capabilities of easily creating a
directory
tree.
new
Constructor for the Dir::TreeBuild object. Accepts the following
options:
*struct* - hash reference that defines the desired directory
structure
*top* - the directory that the desired directory structure is to be
created in. The current directory is the default.
A 'Dir::TreeBuild' object is returned.
top
Accessor method to read/write the top level directory in a
Dir::TreeBuild object.
To read the value: $tree->top;
To write the value: $tree->top($value);
struct
Accessor method to read/write the directory structure in a
Dir::TreeBuild object.
To read the value: $tree->struct;
To write the value: $tree->struct(\%tree);
umask
Accessor method to read/write the current umask value for the
specified
Dir::TreeBuild object (see the umask manpage). When the object is
built
(see the build method), it is built using this umask; upon
completion of
the build, the original process umask is reverted to.
To read the value: $tree->umask;
To write the value: $tree->umask($octal);
build
Once a Dir::TreeBuild object has been created and initialized (with
at
least a structure), the build method is responsible for actually
creating the directory tree.
The permissions of each directory in the tree are rwxrwxrwx (0777)
by
default, but the current umask of the process is used to mask out
the
undesired bits. The umask can be set with the umask method.
$tree->build;
deltree
Once a directory has been created, it can be deleted with the
deltree
method. If the directory is not empty, it will not be deleted; the
deltree command will continue until all directories described in the
Dir::TreeBuild structure have been traversed.
This execution method does not accept any parameters.
$tree->deltree;
EXPORT
None.
AUTHOR
Ray Graham, Jr., <[EMAIL PROTECTED]>
</SNIPPET>
I've been using Perl for years, but have not produced anything that I've
felt has been worthy enough of submitting to CPAN until maybe now --
this Dir::TreeBuild module being one of them. Would you be willing to
colaborate with me on this?
Thanks!
--
+---------------------------------------------------+
| Ray Graham, Jr. | LSI Logic Corporation |
| Design Engineer | 1551 McCarthy Blvd |
| [EMAIL PROTECTED] | MS G-780 |
| O: 408-433-8005 | Milpitas, CA 95035 |
| M: 650-270-9563 | http://www.lsilogic.com |
+---------------------------------------------------+