Как я могу дать сигнал разветвленному ребенку прекратить в Perl?

Как я могу сделать одну и ту же переменную общей для разветвленного процесса? Или мне нужно записать файл в родительском файле, а затем прочитать значение, сохраненное в дочернем файле, как только файл существует? $ что-то никогда не появляется в этом, поэтому он просто зацикливается во сне

my $something = -1;
&doit();
sub doit
{

 my $pid = fork();
 if ($pid == 0)
 {
      while ($something == -1)
      {
         print "sleep 1\n";
         sleep 1;
      }
      &function2();
 }
 else
 {
     print "parent start\n";
    sleep 2;
    $something = 1;
    print "parent end: $something\n";
 }
}

sub function2 {
   print "END\n";
}

Ответы на вопрос(4)

Ваш ответ на вопрос