Is it a Perl program or a Perl script?

Discussion in 'Digital Photography' started by business one way, Jan 5, 2008.


    Larry doesn't really care. He says (half in jest) that "a script is
    what you give the actors. A program is what you give the audience."

    Originally, a script was a canned sequence of normally interactive
    commands--that is, a chat script. Something like a UUCP or PPP chat
    script or an expect script fits the bill nicely, as do configuration
    scripts run by a program at its start up, such .cshrc or .ircrc, for
    example. Chat scripts were just drivers for existing programs, not
    stand-alone programs in their own right.

    A computer scientist will correctly explain that all programs are
    interpreted and that the only question is at what level. But if you
    ask this question of someone who isn't a computer scientist, they
    might tell you that a *program* has been compiled to physical machine
    code once and can then be run multiple times, whereas a *script* must
    be translated by a program each time it's used.

    Perl programs are (usually) neither strictly compiled nor strictly
    interpreted. They can be compiled to a byte-code form (something of a
    Perl virtual machine) or to completely different languages, like C or
    assembly language. You can't tell just by looking at it whether the
    source is destined for a pure interpreter, a parse-tree interpreter, a
    byte-code interpreter, or a native-code compiler, so it's hard to give
    a definitive answer here.

    Now that "script" and "scripting" are terms that have been seized by
    unscrupulous or unknowing marketeers for their own nefarious purposes,
    they have begun to take on strange and often pejorative meanings, like
    "non serious" or "not real programming". Consequently, some Perl
    programmers prefer to avoid them altogether.
    business one way, Jan 5, 2008
    1. Advertisements

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.