2013-08-06 43 views
1

如何使用八進制表示來打印字符?請注意,這些字符可能是特殊字符(逃逸,背景,箭頭鍵)。Perl如何打印八進制字符?

例如,我想一個函數printoctal',使得:

my $char='P'; 
printoctal $char; 

,我想,要打印120

+0

爲什麼選擇否定?我不介意他們,因爲他們給了我一個提高我的問題能力的機會。但如果沒有反饋,我不能改進。任何人都有建議?也許我應該給出一個完整的例子?或者問題太新手了? –

回答

7

你想兩件事情:ord接受一個字符串,並返回該字符串的第一個字符的數字值。也就是說,ord "P"是80.

然後,你想要printfsprintfsprintf "%o", $num將接收一個數字並返回一個字符串,即該數字的八進制表示,printf將打印八進制表示而不是返回它。

合起來,printf "%o\n", ord "P"將打印"120"

+0

擊敗我7秒! –

+0

我有點像「%#o」。 – tchrist

相關問題