Jonathan Rockway
and 1 contributors

NAME

File::Attributes::Recursive - Inherit file attributes from parent directories.

VERSION

Version 0.02

SYNOPSIS

Works like File::Attributes, but will recurse up the directory tree until a matching attribute is found.

EXPORT

None, by default. Specify the functions you'd like to use as arguments to the module. :all means export everything.

FUNCTIONS

get_attribute_recursively($file, [$top], $attribute)

Returns the value of attribute $attribute. If $top is specified, then the search will terminate when the path no longer contains $top. (i.e. if $file is /foo/bar/baz/quux and $top is

get_attributes_recursively($file, [$top])

Returns a hash of key value pairs for all attributes that apply to $file. Only the closest attributes are returned. Given:

      /a            (a = yes, foo = bar)
      /a/b          (b = yes, foo = baz)
      /a/b/c        (c = yes)

get_attributes_recursively('/a/b/c', '/a') will return:

     (a => yes, b => yes, c => yes, foo => baz).

The foo => bar is masked by the "closer" foo => baz.

list_attributes_recursively($file, [$top])

Returns a list of attributes that are defined and apply to $file. Like keys get_attributes_recursively($file, [$top]), but faster.

NOTABLY ABSENT FUNCTIONS

unset_attribute_recursively

There are two possible ways for this function to behave -- either recurse until the attribute is removed, or recurse to top, removing the attribute at each level. The first doesn't make sense, and the second is dangerous. If you need this function, write it for the specific needs of your application; I think that's the safest thing to do.

(Note that rm refuses to rm .., so I think there's some precedent here.)

AUTHOR

Jonathan Rockway, <jrockway at cpan.org>

BUGS

Please report any bugs or feature requests to bug-file-attributes-recursive at rt.cpan.org, or through the web interface at http://rt.cpan.org/NoAuth/ReportBug.html?Queue=File-Attributes-Recursive. I will be notified, and then you'll automatically be notified of progress on your bug as I make changes.

SUPPORT

You can find documentation for this module with the perldoc command.

    perldoc File::Attributes::Recursive

You can also look for information at:

ACKNOWLEDGEMENTS

COPYRIGHT & LICENSE

Copyright 2006 Jonathan Rockway, all rights reserved.

This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself.