ingydotnet / file-share-pm

Improved File::ShareDir for Perl

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Name

File::Share - Extend File::ShareDir to Local Libraries

file-share-pm file-share-pm

Synopsis

use File::Share ':all';

my $dir = dist_dir('Foo-Bar');
my $file = dist_file('Foo-Bar', 'file.txt');

Description

This module is a dropin replacement for File::ShareDir. It supports the dist_dir and 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.

Problem and Solution

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.

See Also

Author

Ingy döt Net <ingy@cpan.org>

Copyright and License

Copyright 2011-2014. Ingy döt Net.

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

See http://www.perl.com/perl/misc/Artistic.html

About

Improved File::ShareDir for Perl


Languages

Language:Makefile 60.1%Language:Perl 39.9%