# ...
our $Tray = new Win32::SysTray ( ... ); # note that $Tray is global
# ...
my $name = Prompt("What is your name?");
print "\nHello $name\n\n";
# ...
sub Prompt {
my $prompt = shift;
print "\n$prompt ";
my $response = '';
my $rsel = ''; my $rrdy;
vec($rsel,fileno(STDIN),1) = 1;
CHAR: while (1) {
die "user quit" if -1 == Win32::GUI::DoEvents();
while (select($rrdy=$rsel, undef, undef, 0.10)) {
sysread(STDIN, $response, 1, length $response)
== 1 or die "read error";
}
last CHAR if chomp($response);
}
return $response;
}
|