The site http://search.cpan.org/~smueller/PAR-0.973/
has the latest PAR.

The prepackaged Windows binary for PAR::Packer is at
http://www.perl.com/CPAN/authors/id/S/SM/SMUELLER/PAR-Packer-0.975-MSWin32-x86-multi-thread-5.8.8.par

I just noticed that "par" is one of the Perl Power Tools comands. The CPAN link for par leads to the ppt download. How unfortunate.

I am going to take a guess here and suggest that there is something that is not being packaged into your .exe file. I am going to gear my suggestions premised up on that because that is the only reason I can think of for this behavior. I presume that "pp -o hello.exe hello.pl" will work when hello.pl is a simple print statement.

For debugging, do not use -g (gui) on the command line so that the print (debugging) statements will show on the command line.

Given that debug print statements are sprinkled about, comment out the encryption and any other areas that are the most suspect. Then if the new .exe runs and prints the debug statements, uncomment a suspect area, create a new .exe and try again.

Any "use foo" line invoked from package main will result in foo.pm being packed. Any trail of "use" packages will likewise be picked up. If there are any packages missing it will probably not be one of the ones from a "use foo" type of statement. If there is anything you suspect, try some lines like

pp -o main.exe -M foo -M bar -M whatever main.pl

to explicitly get the module packaged.

Is it possible that you have modules coming from a separate lib known only when the .pl file is run from the command line? If so, try --lib /path/to/mylib on the command line. pp will not warn you when it cannot find modules.

If your script invokes a .pl file that has a "use bar" line I do not think bar.pm will be packaged. That secondary .pl file also will not get packaged. This is also true for things invoked in a "system(.., "some.pl", ..)" command.

Any text or other files to be packed must be explicitly requested using the -a and/or -A flags on the command line.

Good luck

Reply via email to