■ oct

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 を想定しています。)

文法

oct EXPR