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

Now, here's the deal:

I'm trying to compile a fairly complex set of scripts. A couple of the scripts are called via require. Even when I specify adding both explicitly with the -a switch, one gets successfully packaged and the other does not. I have checked all of the "require"d scripts to make sure there is a 1; at the end. The scripts are also required explicitly (i.e., no variable names). Oddly, I can get the packaging to work if I use the -b option on the one that does not get added. Anybody have a clue what up with this?

Here's some output from the compile process:

PerlApp -e=xznova.exe; -f -v -r

Input script name:
Output exe name: xznova.exe
Exe Mode: Freestanding
Building Console mode exe
Temp files will be kept on exit
Failed 'use's will be reported
Additional module: ----------------------these are the 2 that it says it's going to add, yeah right!
Additional module: ------------------ba da bing
Adding Module: C:/Perl561/lib/
Adding Module: C:/Perl561/lib/
Adding Module: C:/Perl561/lib/File/
Adding Module: ./ ------------------ba da boom, but I only got one of the two, dang!
Adding Module: C:/Perl561/site/lib/GD/
Adding Module: ./znova.params
Adding Module: C:/Perl561/lib/
Adding Module: C:/Perl561/lib/
Adding Module: C:/Perl561/lib/
Adding Module: C:/Perl561/lib/IO/
Adding Binary: C:/Perl561/lib/auto/IO/IO.dll
Adding Binary: C:/Perl561/site/lib/auto/GD/GD.dll
Adding Binary: C:/Perl561/lib/auto/Fcntl/Fcntl.dll
Adding Binary: C:/Perl561/lib/auto/POSIX/POSIX.dll
Adding Binary: C:/Perl561/site/lib/auto/Win32/Clipboard/Clipboard.dll

#!/usr/bin/perl -w $camel = $hump do { theHumpty($camel); }

Replies are listed 'Best First'.
Re: PerlApp weirdness
by tachyon (Chancellor) on Jul 21, 2001 at 13:39 UTC

    On the surface it would appear to be a bug. It seems your calling syntax is correct as the -a=foo;bar seems to parse OK identifying foo and bar, but perhaps you might try:

    PerlApp -e=xznova.exe -f -v -r
    And after this try re-arranging the order of the cmd line args. As I know you had these modules in before :-) think about what is different now to then. It did work. It now does not. What have you done differently?

    All the best, sorry not to have any really concrete suggestions. Oh, forgot the usual Windows refrain - when all else fails reinstall and reboot. It often works!




      Yep, I think you are right, this appears to be a bug in PerlApp. It feels like I'm doing something wrong, since if I go back to an older version of my script it works as expected. I am using  #!/usr/bin/perl -w and  use strict and I get no complaints from the Perl interpreter with either script. I don't think there's anything "wrong" with my script (other than it's about 1200 lines long, ouch), but PerlApp does not like it. I guess I'll just continue to use -b, as that appears to work. How bazaah, how bazaah. Thanks for the suggestions.


      #!/usr/bin/perl -w $camel = $hump do { theHumpty($camel); }