Beefy Boxes and Bandwidth Generously Provided by pair Networks
more useful options
 
PerlMonks  

Re: Re: perl2exe Evaluation Message Avoider

by drewbie (Chaplain)
on Mar 14, 2002 at 15:42 UTC ( [id://151705]=note: print w/replies, xml ) Need Help??


in reply to •Re: perl2exe Evaluation Message Avoider
in thread perl2exe Evaluation Message Avoider

Could you elaborate please Merlyn? It seems that the various packagers (perl2exe, AS PerlDevKit, etc) could be useful if you're distributing a perl app in a Win32 environment and want to make sure all modules & versions are correct. AFAIK, perl2exe jsut packages up the perl executable & any code/modules that is required. The packagers also do some obfuscation, but it usually appeared to be very simple.

There was a discussion of this subject on the boston.pm list recently. What I said above is the gist of what I got from the various replies. I'd love to hear more details.

Replies are listed 'Best First'.
•Re: Re: Re: perl2exe Evaluation Message Avoider
by merlyn (Sage) on Mar 14, 2002 at 17:26 UTC
    In short:
    • perl2exe spits in the face of open source, by allowing a developer to apparently "lock up" the source to a tool that he developed standing on the shoulders of the open source with which he is using.
    • perl2exe puts a separate copy of the libs in each binary, so if someone installs 10 binaries, they get 10 copies of Perl plus 10 copies of any common modules.
    • perl2exe bills itself as a "compiler", which to the innocent masses means "faster" (as wrong as we know that is), and so people get it to "speed up their code".
    It's a con and an abomination. And for a price! That's the worst part.

    I'm working on plans to make an open-source version of perl2exe that bundles the source code of everything a program requires into a single source file. If anyone wants to work with me on that, please contact me by email (not by chatterbox msg). This will be a "compiler" in the sense of "bundler".

    -- Randal L. Schwartz, Perl hacker

      I hadn't thought about the multiple copies for each installation. That could add up in a hurry.

      I agree w/ you 100% about the compiler stuff. We all know there is not a working perl "compiler". I do think we should spread the word that anyone who says they have a compiler is wrong and best, and an out & out liar at worst.

      That said, I'm curious to know more about the Perl DevKit from AS. At the info page http://activestate.com/Products/Perl_Dev_Kit/more_information.plex I see two interesting snippets:

      PerlApp (HP-UX, Linux, Solaris, Windows) - Turn your Perl programs into ready-to-run executables. The PerlApp command-line utility binds Perl scripts and required libraries with a binary loader that runs the script. PerlApp can be used to build dependent applications, which require an existing Perl installation on the target computer, or freestanding applications, which will run on a target computer that does not have Perl installed. The Perl Dev Kit includes versions of PerlApp for HP-UX, Linux, Solaris, and Windows.

      PerlSvc (Windows) - Convert your Perl programs into Windows services. Build dependent services, which require an existing Perl installation on the target computer, or freestanding services, which will run on a target computer that does not have Perl installed. PerlSvc binds the script with a binary loader; the resultant executables run as a service under Windows NT/2000.

      Has anyone used this product to validate either of these claims? I have to admit that it sounds pretty sexy, especially if they build on an AS perl build and will eliminate the duplication of code you mentioned above. And AS has done good things for the perl community in the past so I don't mind giving them my money. Thoughts or experiences anyone?

        Yes for PerlApp, no for PerlSvc, but as I've said before there are plenty of free utilities to let you wrap whatever the heck you want as a service.

        PerlApp and perl2exe are pretty indistinguishable in my experience save three things:

      • Indy builds perl2exe on his machine with a really weird setup (think perl -V) and this can potentially bite you
      • perl2exe does some nasty stuff in the name of "DWIM" (at least for those not doing complex things). For example there is no way to get a runtime use, eval "use Foo"; does not work.
      • The perl2exe license gets tied to a username and must be run by that user.
      • --
        perl -pe "s/\b;([st])/'\1/mg"

        I use PerlApp on a regular basis. I need to be able to give a perl script to a client who doesn't care that they can see the source or not, they just want something to run. It means I don't have to worry about getting them to install perl.

        I use it to build the smaller exe's and then include perl56.dll with my app which saves space if they have several scripts. They tend to be 100k (for a simple 5 line script) to 800k (more complex one that uses LWP and some HTML:: modules).

        It works great and is well worth the money.

        gav^

      I agree that people that use perl2exe to hide their source are cheating the community which donated (on average) half the work.

      However, I do think perl2exe is a necessary program if the community wants to be able to freely distribute Perl code to people without the interpreter.

      IMNSHO: People should offer both source and exe if they are going to offer the exe at all.



      "Weird things happen, get used to it."

      Flame ~ Lead Programmer: GMS

        However, I do think perl2exe is a necessary program if the community wants to be able to freely distribute Perl code to people without the interpreter.
        The problem is that it doesn't scale. For the second program, they get a second copy of the interpreter. For the third program, they get a third copy of the interpreter. And it's not small. {grin}

        Activestate have done a wonderful job making a very very easy to install Perl distribution available for free. If you can't trust them to install Activestate Perl, why in the world trust them to install and use your program?

        -- Randal L. Schwartz, Perl hacker

      I'm working on plans to make an open-source version of perl2exe that bundles the source code of everything a program requires into a single source file.
      And although I didn't complete that, PAR came into existence to satisfy that very need (and nicely, if I might add).

      -- Randal L. Schwartz, Perl hacker
      Be sure to read my standard disclaimer if this is a reply.

      Well, i had much joy of my registered version! I needed to distribute a (tk/GUI-)perlscript that needed to run on several machines. And installing perl on all win32-machines isn't a good idea and a bit of an overkill.

      Using perl2exe i could distribute the script as a single exe.

      Personally, I feel this thread as a crack-thread because i think, if you really like perl2exe so much, register it. And you should respect this try-ware message.

      If you don't like perl2exe, it's fee or it at all, ignore it, disadvice it, but don't crack it.

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://151705]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others learning in the Monastery: (6)
As of 2024-03-19 03:13 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found