Perl5 リファレンス



oct

【文法】

oct EXPR


【説明】

8進数の文字列を、10進数に変換して返します。EXPRが0xで始まる場合には、それを16進
数とみなし、それを10進数に変換します。(EXPRが"0x"で始まる場合には、それを16進数
とみなします。また、EXPRが"0b"で始まる場合には、バイナリーとして扱います。)以下
の例では、10進数、バイナリー、8進数、16進数を扱った例を示します。

$val = oct($val) if $val =~ /^0/;

EXPRが省略されると、"$_"を適応します。(8進数に変換するには、sprintf()やprintf()
を使うこともできます。)

$perms = (stat("filename"))[2] & 07777;
$oct_perms = sprintf "%lo", $perms;

oct()関数は、例えば、"644"のような文字列を、ファイルパーミッションに変換する場合
に、利用されます。(Perlは自動的に文字列を必要な形式に変換してしまいますが、この
変換は base 10 を想定しています。)



【使用例】

print oct 10;
-----------------------
8
-----------------------


print oct '0x10';
-----------------------
16
-----------------------


Perl5リファレンスに戻る