use File::Share ':all'; my $dir = dist_dir('Foo-Bar'); my $file = dist_file('Foo-Bar', 'file.txt');
THis module is a dropin replacement for File::ShareDir. It supports the
dist_file functions, except these functions have been enhanced to understand when the developer's local
./share/ directory should be used.
NOTE: module_dist and module_file are not yet supported, because (afaik) there is no well known way to populate per-module share files. This may change in the future. Please contact me if you know how to do this.
Module::Install has an
install_share directive that allows you to install various files associated with a distribution. By convention, module authors always put these in a directory called
share/. However, File::ShareDir can only find files after they have been installed. This can be problematic when running development tests.
File::Share will look for a local
share directory, if it notices that the module corresponding was loaded from a development path.
Devel::Local gives you an easy way to use a bunch of source repositories as though their lib and bin directories had already been installed.
File::Share lets you play along with that.