0
我想在同一位置覆蓋所有打印結果。它不應該滾動。我想要無限的時間。爲此我已經使用(1)並且它正在正常工作。但問題在於,我每次打印該聲明時,都會向下滾動並且想要更改。 我希望它能打印出來,或者你可以在同一個地方覆蓋它。覆蓋perl中相同位置的所有打印件
請問一些人可以幫助我嗎?
我也嘗試在兩個打印語句中使用\ r,但它只更新最後一個打印語句在同一個地方。
while(1)
{
.... // some lines of code //
print("\n******** Interrupts *********\n");
for($k=0; $k<$t_intr; $k++)
{
$intr_diff = $total_intr_curr[$k] - $total_intr_prev[$k];
#push(@intr_diff_arr,$intr_diff);
print("Intr : $intr_diff\n"); // want to update this print at same place //
}
print("\n******** Context switches *********\n");
for($l=0; $l<$t_ctxt; $l++)
{
$cntx_min = 0;
$ctxt_diff = $total_ctxt_curr - $total_ctxt_prev;
push(@ctxt_diff_arr,$ctxt_diff);
$min = min @ctxt_diff_arr;
$max = max @ctxt_diff_arr;
print("Ctxt : $ctxt_diff Minimum : $min Maximum : $max\n"); // want to update this print also at same place //
}
}// infinite while loop end //
謝謝。
你是什麼意思*它只更新最後一個打印語句在同一個地方*? – madfriend
這可能意味着您無法快速閱讀,或者您的顯示器顯示速度不夠快。嘗試在打印後添加一個微睡眠(使用'\ r'回車),然後看看會發生什麼。 –
//我在某些代碼行中使用了sleep(3)// ...和「它僅更新最後一個打印語句」表示它只覆蓋此打印語句print(「Ctxt:$ ctxt_diff最小值:$ min最大值:$最大\ n「);不是上面那個... – user2342605