Soweit ich weiß funktioniert fork, zumindestens unter älteren Windows-Versionen, nicht oder nicht korrekt und ist auch kein eigener Prozess, sofern es funktioniert.
das Kind beendet sich ja mit exit, also mußt du es nicht mehr töten.
Achja: im Kind kannst du die Tk-Funktionen nicht verwenden, da es irgendwelche Probleme in Kombination mit fork gibt (bzw. ob das Probleme sind ist unklar, man will ja beim fork nicht zwangsläufig, daß das Programmfenster nochmal aufgeht, nur manchmal kommt das einem als Problem vor.)
sub z{if(@_){1while$x[$k=rand 10];t($t=$x[$k]=1)}print map"$z[$x[$_]]$_".($_%3?
"":"\n"),1..9}sub t{$j=0;$x[$_+1]==$t&&($j+=2**$_)for 0..8;z,die"Gewinner $z[$t]
"if grep$_==($j&$_),7,56,73,84,146,273,292,448;z,die"Gleichstand\n"if@x>9&&!grep
!$_,@x}@x=4;@z=qw{. [ (};z$^T&1;while(<>){next if$_>9||$x[$_];t$t=$x[$_]=2;z 1}