How to use the exec() and system() function and capture the returned output in Perl

When you want to execute a program you sometimes want to use the result of the program you executed.

Both Perl’s exec() function and system() function execute a system shell command. The big difference is that system() creates a fork process and waits to see if the command succeeds or fails – returning a value. exec() does not return anything, it simply executes the command. Neither of these commands should be used to capture the output of a system call. If your goal is to capture output, you should use the backtick operator:

Found this information in a post by Kirk Brown.