一個顯示進度的loop

看板Perl作者 (La Jolla)時間19年前 (2006/03/08 13:34), 編輯推噓1(101)
留言2則, 2人參與, 最新討論串1/2 (看更多)
想寫一個顯示程式運作進度的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

03/08 15:23, , 1F
使用 $|=1;
03/08 15:23, 1F

03/08 15:45, , 2F
試試看print STDERR "**"
03/08 15:45, 2F
文章代碼(AID): #143cpJ6L (Perl)
討論串 (同標題文章)
文章代碼(AID): #143cpJ6L (Perl)