in reply to difference between exec, system, fork, pipe, syscall and eval

You also forgot open. And this sounds like homework. It might be helpful if you clarified why this isn't something you can answer yourself with perldoc.

Replies are listed 'Best First'.
Re^2: difference between exec, system, fork, pipe, syscall and eval
by kiruthika.bkite (Scribe) on Mar 20, 2010 at 05:11 UTC
    - exec is used to execute the given process by replacing the current process.
    - If the given process get executed successfully then exec will not return the value.
    - exec returns the value in case of failure only.

    - System is also doing the same thing as exec but system returns value in both success and failure cases.
    - And parent process waits for the child process to complete.
    - System() runs the command through a shell,while exec() runs the command directly.

    - fork is used to create a new process(child process).
    - And it is returning the PID of child to parent and zero to child if the fork is successful.
    - The difference between the fork and exec is exec replaces the current process but fork doesn't.

    - pipe is used for communicating between two processes.
    - We can use both named and nameless pipes.
    - It returns open a pair of pipes.
    - In one end we can write.
    - And in another end we can read the content.

    - syscall is used to call the system call which is specified as a first argument.
    - Remaining elements are the arguments to the system call.

    For more details visit the following link also. Perl IPC