Slash Boxes
NOTE: use Perl; is on undef hiatus. You can read content, but you can't post it. More info will be forthcoming forthcomingly.

All the Perl that's Practical to Extract and Report

The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
More | Login | Reply
Loading... please wait.
  • Although not a CamelBones app, Blue Coconut [] includes a lot of Perl libraries. I use the following Shell Script step in Xcode to use PAR to bundle the required resources:

    pp -I ./perl_lib -p -o BlueCoconut.par && unzip -o BlueCoconut.par -d par && rm -rf build/Blue\ && mv par/lib build/Blue\ && rm -rf par

    Step by step: use pp (PAR packager) to make a PAR file for; unzip it into the par directory; remove the old perl_lib from the resources part of the app bundle, then move the new one in; then remove the remainder of the par folder.

    This obviously needs work to make it more general (and more elegant, perhaps) but it works for me (with an additional script to handle one library that PAR gets confused on).

    • I did think about PAR, but there's a chicken and egg problem with it. Since you can't pp to create a .pm that contains all your modules, only pp to create an exe, you need to to distribute PAR with your application. Same problem, different strokes.
      • Ah, but the way I do things doesn't require PAR to be shipped, because I unpack the PAR zipfile out to the application's bundle. All I need to do to make sure that the application can find the libraries is to make sure that's copied alongside the perl_lib folder in the resources, and then modify @INC:

        BEGIN {
            my $lib = File::Spec->catfile($Bin, "perl_lib");
            unshift @INC, $lib;

        Also, the use of (I think) -I means that I don't get a full executable, but a zipfile. (I really s