我是 Perl 和 Curses 的新手,但我正在努力让我的代码运行一个循环,首先是我的代码:
#!/usr/bin/env perl
use strict;
use Curses::UI;
sub myProg {
my $cui = new Curses::UI( -color_support => 1 );
my $win = $cui->add(
"win", "Window",
-border => 1,
);
my $label = $win->add(
'label', 'Label',
-width => -1,
-paddingspaces => 1,
-text => 'Time:',
);
$cui->set_binding( sub { exit(0); } , "\cC");
# I want this to loop every second
$label->text("Random: " . int(rand(10)));
sleep(1);
$cui->mainloop();
}
myProg();
如您所见,我希望本节以递归方式运行:
# I want this to loop every second
$label->text("Random: " . int(rand(10)));
sleep(1);
在标签中放置一个随机数的想法只是为了表明它有效,我最终会有相当多的标签会定期更改,并且还想做其他功能。
我试过做:
while (1) {
...
}
但是如果我在 mainloop() 之前这样做;调用窗口永远不会创建,调用后它什么也不做?
希望这有意义吗?那么我该怎么做呢?