** fork について質問です。**

if ($pid= fork){
# ここは親プロセス
}elsif (defined $pid){
# ここは子プロセス
}elsif ($! =~ /No more process/){
# A
}else {
}

上記のようなソースをたまに見かけます(らくだ本など)が、A部分には
子プロセスが作れなかったのに何がくるのでしょうか?
わたしが思うに、子プロセス生成に失敗したので結果的に親プロセス部分
しか処理されないような感じがするのですが・・・。