2015-07-11 59 views
1

hello.pl是正常工作文件:perl的帕臺打包機exe文件的睡眠()不工作

print "Hello World"; 
sleep(5); 

當我將其轉換成hello.exe使用PAR-打包機,窗口會睡5秒,但不會打印「Hello World」 - 5秒後實際打印並退出窗口。

任何解決方案表示讚賞。我希望打印顯示5秒。

+1

'STDOUT-> autoflush();'http://perl.plover.com/FAQs/Buffering.html –

+0

太棒了!有效。謝謝 – SSh

回答

1

這將是一個沖洗緩衝區到STDOUT的問題。您可以在睡眠前手動沖洗

STDOUT->flush() # a specific instance of $filehandle->flush() 

或者您可以要求您自動爲該文件句柄刷新。

STDOUT->autoflush(1); 

你也可以用0作爲參數來關閉它。

最後還有一個可讀性較差的特殊變量$|,如果您正在進行某種單線或代碼打高爾夫球,您可以指定1