in reply to RE(2): portability!
in thread portability!

C programs are "compiled" into an executable, whereas Perl scripts are "interpreted" at runtime

Actually, I believe that perl scripts have a sort of "pre-compile" step. This is where BEGIN{} blocks and use statements and other such pre-runtime things are decided. Though this normally happens at the first step of running the program (not true in cases like mod_perl), this step is normally refered to as "compiling"

As for script versus program, from the perlfaq1:
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."

(More available in the faq)