in reply to Question on how fork works.

You guessed right about the starting point of the child process. I'll try to explain about what happens then.

So, as you told, execution starts at "the forking point". What happens here is that while in the parent process gets its child's PID from the fork call, child gets 0 (as you can read on perldoc -f fork). In some sense, your program splits at fork just before it returns some value (well, it's not how it really work but... I think you got the idea...).

Ciao!
--bronto

# Another Perl edition of a song:
# The End, by The Beatles
END {
  $you->take($love) eq $you->made($love) ;
}