Perl如何在八进制中打印字符?

Xu *_*ang 1 perl

如何用八进制表示打印字符?请注意,这些字符可能是特殊字符(转义,背景,箭头键).

例如,我想要一个函数'printoctal',这样:

my $char='P';
printoctal $char;
Run Code Online (Sandbox Code Playgroud)

我想打印一下 120

hob*_*bbs 7

你想要两件事:ord取一个字符串,并返回该字符串的第一个字符的数值.那ord "P"就是80.

然后,你想要printfsprintf.sprintf "%o", $num将取一个数字并返回一个字符串,该字符串是该数字printf的八进制表示,将打印八进制表示而不是返回它.

一起,printf "%o\n", ord "P"将打印"120".