2013-02-26 107 views
0

我有兩個打印語句,一個接一個。Perl打印精確位置

print("Number of cars"); 
printf("%10d","$somevariable"); 

print("Number of blue cars"); 
printf("%10d","$somevariable"); 

print("Number of red cars"); 
printf("%10d","$somevariable"); 

我的問題是,變量的值不會垂直對齊。它會看起來像這樣

Number of Cars  0 
Number of blue Cars  0 
Number of Red Cars  0 

是否有任何可能的方式將它們對齊到水平線上的某個點?例如,總是將所有東西都打印在80個空格處?

編輯:輸出到終端。

乾杯

+0

所有dependson多久你的第一列得,你可必須字數它,然後決定最長的字符串以匹配長度..爲什麼不嘗試輸出在HTML?您可以使用表格輕鬆顯示內容 – Vahid 2013-02-26 12:26:43

+1

@vahid:HTML?到終端?或一個文本文件? – pavel 2013-02-26 12:28:20

+1

這顯然不是產生這個輸出的實際代碼,因爲它加載了語法錯誤。 – geoffspear 2013-02-26 12:29:46

回答

3

包括在printf的標籤:

printf("%-20s%10d\n","Number of cars", $somevariable) 
printf("%-20s%10d\n","Number blue of cars", $someothervariable) 
+0

不錯 - 必須說有一段時間沒有練過perl,但是效果不錯 – Vahid 2013-02-26 12:39:36

+0

這對我來說不幸沒有效果。 – 2013-02-26 13:11:43