I've found that Module::Pluggable works with .exe PAR files, but not with .par PAR files.

The reason for this misbehavior is that when running PAR as an exe, I get temp folders with .pm files with their original names. When I run a Perl program pulling in an archive via "use PAR 'foo.par'", I get temp folders with .pm files named like fe2f85f3.pm. Because Module::Pluggable is seeking files by globbing through @INC and searching by name prefix, it fails to find the latter.

I'd like to find a way to get the original-name behavior with .par files so that Module::Pluggable will start working. Any ideas?

<speculation>

I've been looking over the source code, and I believe the difference is that .exe files use _extract_inc() while .par files are extracted incrementally via unpar(). I haven't found documentation explaining the reason for that difference, but I suspect it's because the .exe loads just one PAR collection while multiple .par files could be loaded at once. Perhaps there are other reasons?

Perhaps we could introduce a syntax like the following?
  use PAR {file => 'foo.par', extract => 1};
Then that version could call _extract_inc. Might that be feasible? If so, I'd be willing to try a first cut at implementation.

</speculation>

Chris

--
Chris Dolan, Software Developer, Clotho Advanced Media Inc.
608-294-7900, fax 294-7025, 1435 E Main St, Madison WI 53703
vCard: http://www.chrisdolan.net/ChrisDolan.vcf

Clotho Advanced Media, Inc. - Creators of MediaLandscape Software (http://www.media-landscape.com/) and partners in the revolutionary Croquet project (http://www.opencroquet.org/)


Reply via email to