if ($pid = fork) で $pid が定義されてるから (defined $pid) は必ず真になるよね?
else で十分だと思う。