in reply to Forked off!

How does the fork syntax work ?

Simply : fork() duplicate a program into 2 which continues to execute in 2 different processes,
from the fork() instruction.

fork() return the child's process id (a positive integer) in the father's process and return 0 in the child's process
(and this return value is mainly used to discriminate the child from the parent to branch accordingly...)

UPDATE : I forgot to mention the undef value returned by a fork it failed...

"Only Bad Coders Code Badly In Perl" (OBC2BIP)