File::Attributes::Recursive module contains inherit file attributes from parent directories.
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.)
What's New in This Release:
· Perl
Product's homepage