Stories
Slash Boxes
Comments
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.
 Full
 Abbreviated
 Hidden
More | Login | Reply
Loading... please wait.
  • How about this for your next project: AnyPerl on a Stick. ;)

    Binaries for linux, MacOS X, and Windows with all the necessary core XS modules precompiled and a shared pure-Perl site lib. All extractable as a .zip into any place, autodetecting its path as well.

    I see the following dialogue:

    Programmer: "Stick this usb thingy into your computer and run the app."
    Client: "But I'm running on Mac OS..."
    P: "Doesn't matter."
    C: "But I have only Windows at home..."
    P: "Doesn't matter."
    C: "I suspect it doesn't matter, but
    • Sorry for replying to my own post, but thinking about it just one tiny bit further, this is really why I wrote PAR::Repository. (Except not for development of Perl code.)

      Given the platform specific PAR::Repository client and a repository URL, it automatically fetches all that's necessary. The programmer just puts all code in the repository, along with binaries for XS modules of supported platforms.

      Essentially, packaging the following code into a binary with PAR::Packer should do it for a loader:


      use PAR::Repository::Client;
      my $app_url = shift;
      my $script_name = shift;
      my @args = @ARGV;
      my $client = PAR::Repository::Client‐>new(
          uri => $app_url,
      );
      $client‐>run_script($script_name, @args)
          or die $client‐>error;


      Then, the client can run:

          perlclient http://thatprogrammerssite/repository [thatprogrammerssite] coolapp

      Or:

          perlclient C:/path/to/my/usb/stick/repository coolapp

      And yes, PAR::WebStart does something quite similar. But it requires a local perl installation.