[問題] print 跟printf

看板Perl作者 (李崩子)時間13年前 (2011/05/25 13:57), 編輯推噓6(603)
留言9則, 5人參與, 最新討論串1/1
如題 printf "%-9s\t%5s\t%5s\n",'name','score1','score2'; 輸出長這樣: 姓名 分數A 分數B 小王 88 90 就是名子會靠左對齊,數字會靠右對齊, 我想問的是如果用 print要如何達到相同的結果 因為我是把所有的字串先存成矩陣 ex push(@output,"$name\t$score1\t$score2\n"); print @output; 輸出長這樣: 姓名 分數A 分數B 小王 88 90 但是我只會加入 TAB鍵,所以有沒有類似\t的分隔可以把 分數那邊置右? -- -- ▂▂ ▂▂▂ ▂▄▅▅▄▆█ _█◣ ◢ (●) ◣/\\ 丫 │◥  ̄◤ -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 140.116.215.174

05/25 14:32, , 1F
也許你會需要write跟format搭配$^跟$=
05/25 14:32, 1F

05/25 15:13, , 2F
format+1
05/25 15:13, 2F

05/25 15:15, , 3F
或是你可以把所有的變數存進array而不是存字串進去
05/25 15:15, 3F

05/25 15:41, , 4F
sprintf 可以嗎?
05/25 15:41, 4F

05/26 03:20, , 5F
printf "%-9s\t%5s\t%5s\n", @$_ for (接下行)
05/26 03:20, 5F

05/26 03:20, , 6F
map { [ split /\t/ ] } @output (這樣可以嗎?)
05/26 03:20, 6F

05/26 08:39, , 7F
樓上的前輩,如果有人考一百分這樣適用嗎?
05/26 08:39, 7F

05/27 01:29, , 8F
你是在問我嗎:-) ...應該沒有差別吧~
05/27 01:29, 8F

05/27 17:20, , 9F
感謝frank大大了
05/27 17:20, 9F
文章代碼(AID): #1Dt9f4__ (Perl)