Well, you would use 'exec' if you wanted to run an external program as the last step of your Perl script. Control would never return to your Perl script, you'd be finished the program at that point.
You would choose 'system' if you were in the middle of your Perl script, you wanted to run an external program, but you had more Perl code to be run before you were finished. Even if you simply wanted to check to return status of the program you run, you'd need to use system.
In most cases, if you have system vs. exec, system tends to be the one you want to use. If you use exec, you have to trust the external program that it run correctly, there wouldn't be a way from Perl to check that, since the Perl script quits at the exec statement, and gives full control to the external program.
I tried to think of an example of a good use for exec, but every example I could come up with seemed to be better off with system -- largely because I felt it would be best to check that program's return status. However, someone else may be able to come up with an example of where that wouldn't be necessary.
Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
Read Where should I post X? if you're not absolutely sure you're posting in the right place.
Please read these before you post! —
Posts may use any of the Perl Monks Approved HTML tags:
Outside of code tags, you may need to use entities for some characters:
- a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
Link using PerlMonks shortcuts! What shortcuts can I use for linking?
See Writeup Formatting Tips and other pages linked from there for more info.
| & || & |
| < || < |
| > || > |
| [ || [ |
| ] || ] ||