in reply to Re: grap ctrl+c when exe
in thread grap ctrl+c when exe

Unfortunately, this mindset is the downfall of Perl.
Seriously.
The leading complaint I hear about Perl is that its unreadable. I show them my code and they drop that complaint.
Then they complain that I can't easilly distribute it because not everyone has Perl, and it isn't self contained. And all I can do is smile and nod, because they are right. I can't write a simple application in Perl and provide a single, self-sufficient, file to someone else. Granted that complicated projects often involve multiple data files and dlls, but requiring someone to install Perl (and every module I used) just to run a program is rediculous.

Just my opinion. Downvote if you wish.

Replies are listed 'Best First'.
RE: RE: Re: grap ctrl+c when exe
by Malkavian (Friar) on Oct 28, 2000 at 23:15 UTC
    Which begs the question:
    Has anybody written a module that tests for the existence of a module required by the rest of the program, and auto downloads from CPAN and auto installs if not present?

    Malk.
      I vaguely recall seeing a snippet (not module) here at PM that would check for presence of modules required by larger script.   Hmmm... Detecting modules in use? may be what I was thinking of.
          cheers,
          Don
          striving for Perl Adept
    A reply falls below the community's threshold of quality. You may see it by logging in.
RE: RE: Re: grap ctrl+c when exe
by merlyn (Sage) on Oct 28, 2000 at 23:04 UTC
    And if not everyone had the DLLs to make your C binary run, you'd not be able to run that either. That's a silly complaint.

    The proper response to that is "well, it's not a standard install, but it's a trivial install, and it's free."

    -- Randal L. Schwartz, Perl hacker

      Software that requires a DLL comes with an install program which handles the installation of the DLL. So much for that problem. Installing Perl is a much bigger deal then installing a DLL, PLUS they would have to install any libraries you are using. It gets hairey fast. Having it all in one simple executable is both sensible and preferable when distributing a software product. Not to obfuscate, but to simplify.
        If you're only ever installing one Perl program on user machines, you're right. It's a hassle to install Perl on each machine.

        As soon as you install a second program, the time spent installing Perl initially becomes a better investment.

        It's the same case as Java. If it weren't installed by default with web browsers, people would have to go to some trouble to install appropriate JVMs. (I've gone through that with the official Sun JVM on Windows, and it's not as easy as just clicking 'OK' once or twice.)

        Java does something right, sorta, with JAR files bundling up all of the class files (and additional libraries).

        Of course, some enterprising hacker might use the CPAN module to create a nice bundler with Archive::Tar and maybe MD5 signatures. Windows folks will have to get by with PPM or whatever the Indigo folks provide. I'd like to see that, personally.

        The bottom line is, if you're going to give people more than one Perl program to run, the executable method isn't as nice anymore. (And once you've talked people into running one Perl program, they'll want another.)

        Is it possible to use any of the stock installation program kits to build an install program for your script/application that bundles perl.exe and requisite modules as if they were DLL's for normal apps?