forkの使い方を勉強しています。
下のサイトをサンプルを動かして、動くことは動くのですが
動作についてイメージが湧きません。
http://www.stackasterisk.jp/tech/program/perl04_02.jsp

実行するとif($pid = fork)のブロックが実行されて、いつ(defined $pid)の
ブロックが実行されるのでしょうか。
浅はかな頭では最初のifで子プロセスを生成してから子プロセスの終了を待ってから
終わってしまうように見えます。
どなたか解説をお願いします。