From: PerlFAQ Server on
This is an excerpt from the latest version perlfaq1.pod, which
comes with the standard Perl distribution. These postings aim to
reduce the number of repeated questions as well as allow the community
to review and update the answers. The latest version of the complete
perlfaq is at .


1.13: Is it a Perl program or a Perl script?

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.

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.


The perlfaq-workers, a group of volunteers, maintain the perlfaq. They
are not necessarily experts in every domain where Perl might show up,
so please include as much information as possible and relevant in any
corrections. The perlfaq-workers also don't have access to every
operating system or platform, so please include relevant details for
corrections to examples that do not work on particular platforms.
Working code is greatly appreciated.

If you'd like to help maintain the perlfaq, see the details in