The Perl Toolchain Summit needs more sponsors. If your company depends on Perl, please support this very important event.
=encoding utf8

=head1 NAME

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

=head1 SYNOPSIS

    use File::Share ':all';

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

=head1 DESCRIPTION

THis module is a dropin replacement for L<File::ShareDir>. It supports the
C<dist_dir> and C<dist_file> functions, except these functions have been
enhanced to understand when the developer's local C<./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.

=head1 PROBLEM AND SOLUTION

L<Module::Install> has an C<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 C<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 C<share> directory, if it notices that the
module corresponding was loaded from a development path.

L<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.
C<File::Share> lets you play along with that.

=head1 SEE ALSO

=over

=item *

L<File::ShareDir>

=item *

L<Devel::Local>

=back

=head1 AUTHOR

Ingy döt Net <ingy@ingy.net>

=head1 COPYRIGHT AND LICENSE

Copyright (c) 2011. 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

=cut