my $num_fork = 4;

while ( $num_fork ) {
 my $pid = fork;
  if ( !defined $pid ) {
   die 'プロセスの生成に失敗<br>\n';
  } elsif ( !($pid) ) {
    if ( $num_fork == 4 ) {
     $aaa = 'aaa';
    } elsif ( $num_fork == 3 ) {
     $bbb = 'bbb';
    } elsif ( $num_fork == 2 ) {
     $ccc = 'ccc';
    } elsif ( $num_fork == 1 ) {
     $ddd = 'ddd';
    }
   exit $num_fork;
  }
 $num_fork --;
}

print $aaa.$bbb.$ccc.$ddd;



aaabbbcccdddと表示されて欲しいのですが、exitしているために変数が参照できません。
exitを消すわけにもいかず、どうすればいいのか悩んでいます。
解決策があればどなたかご教授願えないでしょうか?