[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

ITP: libfile-sharedir-par-perl -- File::ShareDir with PAR support



Package: wnpp
Severity: wishlist

* Package name    : libfile-sharedir-par-perl
  Version         : 0.02
  Upstream Author : Steffen Müller <smueller@cpan.org>
* URL             : http://search.cpan.org/dist/File-ShareDir-PAR
* License         : Perl (Artistic and GPL)
  Programming Lang: Perl
  Description     : File::ShareDir with PAR support

File::ShareDir::PAR provides the same functionality as File::ShareDir
but tries hard to be compatible with PAR packaged applications.

The problem is, that the concept of having a distribution or module
specific share directory becomes a little hazy when you're loading
everything from a single file. PAR uses an @INC hook to intercept any
attempt to load a module. File::ShareDir uses the directory structure
that is typically found in the directories that are listed in @INC for
storing the shared data. In a PAR enviroment, this is not necessarily
possible.

When you call one of the functions that this module provides, it will
take care to search in any of the currently loaded .par files before
scanning @INC. This is the same order of preference you get for loading
modules when PAR is in effect. If the path or file you are asking for is
found in one of the loaded .par files, that containing .par file is
extracted and the path returned will point to the extracted copy on
disk.

Depending on how you're using PAR, the files that are extracted this way
are either cleaned up after program termination or cached for further
executions. Either way, you're safe if you use the shared data as
read-only data. If you write to it, your changes may be lost after the
program ends.


Reply to: