There is no report about that 64 issue at
http://rt.cpan.org/Public/Dist/Display.html?Name=Win32-TieRegistry
Win32::TieRegistry is not a core module
It works for me ( just copied strict, changed version to 666)
$ cat mystrict.pl
#!/usr/bin/perl --
use strict;
warn $INC{'strict.pm'};
warn $strict::VERSION;
$ perl mystrict.pl
C:/perl/5.10.1/lib/strict.pm at mystrict.pl line 4.
1.04 at mystrict.pl line 5.
$ perl -Ilib mystrict.pl
lib/strict.pm at mystrict.pl line 4.
666 at mystrict.pl line 5.
$ pp -I lib mystrict.pl
$ a.exe
/loader/HASH(0xa9428c)/strict.pm at script/mystrict.pl line 4.
666 at script/mystrict.pl line 5.
$ pmvers PAR PAR::Packer
PAR: 0.994
PAR::Packer: 1.001
$
update: I didn't use -c, but with -c I get a warning
$ pp -c -I lib mystrict.pl
Different modules for file 'strict.pm' were found.
-> Using 'C:/perl/5.10.1/lib/strict.pm'.
-> Ignoring 'C:/temp/lib/strict.pm'.
no issue with -o
$ pp -o mystrict.exe -I lib mystrict.pl
$ mystrict.exe
/loader/HASH(0xa942d4)/strict.pm at script/mystrict.pl line 4.
666 at script/mystrict.pl line 5.
same behaviour with -c even if I load my strict first
$ perl -Ilib -Mstrict -S pp -c -I lib mystrict.pl
Different modules for file 'strict.pm' were found.
-> Using 'C:/perl/5.10.1/lib/strict.pm'.
-> Ignoring 'C:/temp/lib/strict.pm'.
The error message comes from
Module::ScanDeps. This is probably a bug.