Filesys::Tree version 0.01 ========================== =head1 NAME Filesys::Tree - Return contents of directories in a tree-like format =head1 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:-) =head1 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. =head1 FUNCTIONS =head2 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). =head1 OPTIONS =head2 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/' ); =head2 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/' ); =head2 directories-only Do not list files. Default value is 0. my $tree = tree( { 'directories-only' => 1 } , 'path/to/directory/' ); =head2 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' ); =head2 follow-links Follows links. Default value is 0. Get a tree by following links: my $tree = tree( { 'follow-links' => 1 } , 'path/to/directory/' ); =head2 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/'); =head2 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/'); =head1 AUTHOR Jose Castro, C<< >> =head1 BUGS Please report any bugs or feature requests to C, or through the web interface at L. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes. =head1 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.