---
name: "File::Share"
section: "3pm"
platform: "linux"
package: "libfile-share-perl"
version: "0.27-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/File::Share"
---

# File::Share(3pm)

Extend File::ShareDir to Local Libraries

## NAME

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

## 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

- •

  File::ShareDir

## 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\>
