In the following toy program, I want to pass the value of $text in the while(1) loop from the child process to the parent's while(1) loop but nothing happens except that Perl throws me an "Use of uninitialized value" error.
Any idea how I can fix this problem? or what I might be doing terribly wrong? Thanks as always for any comments and suggestions :)
use strict;
use warnings;
use Win32::GUI();
my $text;
my @h = qw(LINE1 LINE2 LINE3 LINE4 LINE5);
my $pid = fork();
if ($pid)
{
my $main = Win32::GUI::Window->new(
-left => 100,
-top => 100,
-width => 310,
-height => 150,
);
$main->Show();
my $display = $main->AddTextfield(
-left => 60,
-top => 35,
-width => 180,
-height => 20,
);
while(1){
$display->Show();
$display->SelectAll();
$display->Clear();
$display->Append($text);
Win32::GUI::Dialog();
}
}
elsif ($pid == 0)
{
while(1){
$text = "$h[int(rand(@h))]";
sleep(3);
}
}