NAME
Filesys::Tree - Return contents of directories in a tree-like format
IMPORTANT NOTE
This is only version 0.01 . There is a small bug which I'm aware of, but my brain is no longer in condition of taking care of me, and my stomach is begging me to go out and eat something, which I will :-)
I plan to take care of that bug as soon as possible. It, meanwhile, you wish to do that and send me a patch, you're welcome O:-)
Can you find the bug? ;-)
SYNOPSIS
use Filesys::Tree qw/tree/;
my $tree = tree('/path/to/directory');
$tree now holds something like:
{
a => {
type => 'd',
contents => {
1 => {
type => 'f',
},
},
}
In this example, there is one directory named "a", which has a file named "1".
And you can also do:
use Filesys::Tree qw/tree/;
my $tree = tree( {'max-depth' => 2} , '/path/to/directory');
See OPTIONS for a full list of options.
FUNCTIONS
tree
This is currently the only function in the module. It returns a tree-like representation of a directory (or a set of directories, if you ask real hard).
OPTIONS
all
All files (by default, files beginning with a dot are not returned). Default value is 0.
Get a tree including all files:
my $tree = tree( { all => 1 } , 'path/to/directory/' );
max-depth
Sets the max-depth for recursion. A negative number means there is no max-depth. Default value is -1.
Get a tree with a max depth of 2:
my $tree = tree( { 'max-depth' => 2 , 'path/to/directory/' );
directories-only
Do not list files. Default value is 0.
my $tree = tree( { 'directories-only' => 1 } , 'path/to/directory/' );
full
Full path for each entry. Default value is 0.
Get a tree with full paths and prefixes:
my $tree = tree( { 'full' => 1 } , 'path/to/directory' );
follow-links
Follows links. Default value is 0.
Get a tree by following links:
my $tree = tree( { 'follow-links' => 1 } , 'path/to/directory/' );
pattern
Only return filename matching pattern.
Get a tree where only files in all lowercase characters are included:
my $tree = tree( { 'pattern' => qr/^[a-z]+$/ } , 'path/to/directory/');
exclude-pattern
Exclude files matching the pattern.
Get a tree excluding files with numeric names:
my $tree = tree( { 'exclude-pattern' => qr/^\d+$/ } , 'path/to/directory/');
AUTHOR
Jose Castro, <cog@cpan.org>
BUGS
Please report any bugs or feature requests to bug-filesys-tree@rt.cpan.org
, or through the web interface at http://rt.cpan.org. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.
COPYRIGHT & LICENSE
Copyright 2005 Jose Castro, All Rights Reserved.
This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.