看板 Perl 關於我們 聯絡資訊
想寫一個顯示程式運作進度的loop 想要有下面的結果出來 <執行到10%的時後的畫面> ** <執行到20%的時候的畫面> ****(多兩個**) if (進度 % 10 == 0) { print "**"; } 可是,他會等到程式全部跑完,才出現 *********************************************** 而不會像我想像中出現 ** **** ****** 的慢慢變長的動畫(在同一行) 然後我改成 if (進度 % 10 == 0) { print "**\n"; } 就可以有類似動畫出現,可是會換行,變成 ** **** ****** (共三行) 為什麼差個 \n 他print的時機就差這麼多呢? 是因為print會先把要print的東西存到一個buffer memory裡面,滿了才print嗎? 有什麼辦法達到我想要的結果呢? 感謝 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.112.59.21
megaman1206:使用 $|=1; 03/08 15:23
Armonicos:試試看print STDERR "**" 03/08 15:45