我必須在循環中每秒執行一次命令IN PERL。我使用的是劃時代的時間,試圖下面的示例代碼,但它不工作,因爲它打印時間可持續:PERL中循環期間每1秒執行一次命令
#!/usr/bin/perl
my $checktime = time() + 1;
while(1) {
if ($checktime => time())
{
print "This should be print each second..." . "\n";
$checktime = time() + 1;
}
# DO SOMETHING ELSE
}
我不能使用睡眠或因循環期間凍結命令我一定要執行其他命令,而不中斷執行。 你能幫我嗎?
謝謝 盧卡斯
做什麼其他的命令,你必須同時執行?你是否必須從相同的過程執行它們? – redneb
不確定你想用這個條件做什麼,但是如果你只是需要它'每秒打印',可以考慮使用'sleep(1)'。你必須'使用Time :: HiRes' – yonyon100
如果你從同一個過程中完成多項任務,你應該考慮使用一些事件循環。 – redneb