palkia has asked for the wisdom of the Perl Monks concerning the following question:

hi

I downloaded a perl2exe program from indigo star, which seed pretty ugly and inconvenient but it got the job done.
The thing is it doesn't do the job for a specific new code I wrote, dieing with:

Perl2Exe V10.10 Copyright (c) 1997-2010 IndigoSTAR Software

This is an evaluation version of Perl2Exe, which may be used for 30 days.
For more information see the attached pxman.htm file, or visit http://www.indigostar.com
Converting 'C:/Documents and Settings/Administrator/Desktop/Brodcast Schedule/Sc hedule Update Analyzer.pl' to Schedule Update Analyzer.exe
Warning: Can't locate Encode/ConfigLocal.pm at C:\strawberry\perl\lib\Encode.pm line 60 @INC = C:\strawberry\perl\site\lib, C:\strawberry\perl\lib, .

Warning: Can't locate File/BSDGlob.pm at C:\strawberry\perl\lib\File\GlobMapper.pm line 13 @INC = C:\strawberry\perl\site\lib, C:\strawberry\perl\lib, .

I couldn't get the rest cause the damn thing closes ust after the following print.
something similar is described in the help of the program and still couldn't get it to work.
Not even sure what it means since I only "used" WWW::Mechanize and feature 'state'.

So I gave up and super searched perl monks,
which lead me to the pp (PAR Packager) module on cpan.
After a really looooooooooooooooong install, it didn't even worked.
dieing with:

syntax error at C:\Documents and Settings\Administrator\Desktop\Brodcast Schedul e\p2e.pl line 2, near "% pp -o " Execution of C:\Documents and Settings\Administrator\Desktop\Brodcast Schedule\p 2e.pl aborted due to compilation errors. Press any key to continue . . .
After I copy & paste the code from the cpan page (& changed the file name of course).
my code was:
use pp; % pp -o Schedule Update Analyzer.pl;

yeah weird syntax but that's how is appears on cpan.
I also tried many variations of quotes & closers, but nothing works.

Can any one please help me to figure out how/what/why it doesn't work / can work / won't work, or propose an alternative way to convert perl into a standalone executable, in a simple free & legal way ?

Thank you very very (very) much.


Re:
Interesting idea John thx, it seems to hold some water in practice.
I tried it, and (without the % and ; , it doesn't work with it) it says the following (in the terminal):

C:\Documents and Settings\Administrator\Desktop\Brodcast Schedule>pp -o 'Schedul e Update Analyzer.pl'
C:\strawberry\perl\bin/pp: Input file Update was not found

So it does try to do something. kinda weird it looks for a backslash in the end.
Any way it still doesn't work..
oh yeah and yes my entire code runs perfectly as a perl file (on Padre).

Re:
Thx Anonymous Monk. I tried to run your code alone (after the "use pp") but it only died on syntax error.
So I tried to change the C:\> to the actual file's location (with and without the >) but still syntax error.
Than I tried to change the direction of the slash & backslash (both ways), but.. syntax error.
other thoughts ? (please)

Replies are listed 'Best First'.
Re: perl 2 standalone executable files
by John M. Dlugosz (Monsignor) on May 07, 2011 at 00:52 UTC
    Is the specified not-found module indeed absent?

    Do you get the same error if you run the script normally rather than compiling? If not, maybe its dependancy detection is getting a false positive.

    IAC, if they want money for it, they should help you. So ask them!

    Is "Schedule Update Analyzer.pl" one file name? You need quotes around it, due to the spaces. But that looks more like something typed at a prompt, not a line of Perl source code.

Re: perl 2 standalone executable files
by Anonymous Monk on May 07, 2011 at 01:17 UTC
    % pp -o Schedule Update Analyzer.pl; $ pp -o Schedule Update Analyzer.pl; C:\>pp -o Schedule.exe Update Analyzer.pl; /usr/bin/home$ pp -o Schedule Update Analyzer.pl;