in reply to
code to replace
There are quite a few possible answers to your tricky question.
1. There is no difference, as neither of those two beasts exists.
2. However, there are Perl scripts and Perl programs.
3. As Perl scripts are scripts and Perl programs are programs, the difference between them is the same as between scripts and programs.
4. AFAIK, there is no clear cut between them. Some scripts are called programs and some programs are actually just scripts.
5. In day to day personal use, I _tend_ to refer to some Perl code as being a script if it is rather a simple, quick-and-dirty program, targeted for command line use, maybe even single-shot uses. I'd probably never call code that runs as a daemon a script.