1
我有一個被執行的腳本,但我需要一個循環來告訴進程在用戶運行不同的測試時睡眠20-30秒。當按下按鍵時需要打開循環的Perl代碼
測試完成後,用戶按輸入以繼續腳本停止的位置。如果輸入未在20-30秒內按下,腳本將繼續運行而無需用戶輸入。
我嘗試了下面的代碼,但它無限期地暫停腳本 - 它不會在20秒後繼續,但它也不會接受輸入。
use Term::ReadKey;
ReadMode 4;
do {
sleep 20;
} until (defined($key = ReadKey(-1)));
ReadMode 0;
感謝試圖提供的代碼,並且輸出保持張貼 '無鑰匙然而,' 每5秒,即使當我按任意鍵時,輸出仍然保持循環,然後'No Key Yet',並且不跳轉到下一部分。似乎它沒有檢測到擊鍵。 – user2574644
當我運行此代碼時,它會進入循環並在按下某個鍵後退出。正如預期的那樣。你使用哪個Perl?我在Ubuntu 13.04 64bit – Demnogonis
上的Perl 5.14上測試了這一點。我也在使用Windows,並試圖從HTML頁面獲取擊鍵(如果有幫助的話)。 – user2574644