On Mon, 08 Dec 2008, Scott Stanton wrote:
> This is a basic perl-5.8.8 distribution. ActivePerl has the same
> issue, but it checks two different locations (HKLM\Software\Perl and
> HKLM\Software\ActivePerl).

I don't think it uses HKLM\Software\ActivePerl for anything at runtime;
it is just the installer that puts some stuff there.

*All* Perl versions for Windows, going back to at least 5.005 will fall
back to the registry for environment variables starting with "PERL".

If you run `perl -eprint$ENV{PERLFOO}` it will first check for an
environment variable called PERLFOO, but if it isn't found, it will
check first HKCU\Software\Perl and then HKLM\Software\Perl for a
PERLFOO entry and return that.  Only when none of them are set will
you get undef.

This is quiet annoying for embedding Perl into other applications
since you have to check for a bunch of variables like PERL5OPT and
even things like PERL_ENCODING etc as well.

I'm not aware of a way to turn this "feature" off; the only thing
you can do is set all these variables to benign default values before
you call perl_perl_parse().

> After further investigation, I'm not sure this is really the problem
> I'm seeing, although it is a potential issue. The actual symptom is
> that the user starts the program (from the command line), and it
> unpacks perl58.dll launches the internally packed .exe, then fails
> complaining that it can't "locate File/Temp.pm in @INC (@INC
> contains: .)"

Sorry, can't help you with that one.

Cheers,
-Jan


Reply via email to