2015-10-16 58 views
-2

我想使用perl在屏幕中間對齊此菜單,並且還希望在屏幕中心獲得輸入。 菜單代碼如下如何使用perl在屏幕中間打印或對齊菜單

while(1){ // 
     printf "Please select from one of expense catagories"; 
     printf "1 - House \n"; 
     printf "2 - Grocery \n"; 
     printf "3 - Car \n"; 
     printf "4 - Hospital \n"; 
     printf "5 - Others \n"; 
     printf "q - quit \n"; 
     my $input = <STDIN>; 
     if ($input =~ /q/) { 
     exit; 
     }// 

我嘗試使用的標籤,但是當我調整屏幕的沒有正確對齊。所以想知道在屏幕上的特定位置打印的方式。

目前產量如下:

Please select from one of expense catagories 
1 - House 
2 - Grocery 
3 - Car 
4 - Hospital 

回答

0

嘗試使用stty -a命令獲取當前終端中的列數,並使用該值確定菜單的位置。 (我們可以使用printf做左/右填充)。

打印菜單之前,每次使用stty -a命令確定屏幕寬度,以便菜單可以相應對齊。