oct

8 進数文字列を数値に変換する

構文

解説

oct は、引数に指定された文字列を 8 進数文字列とみなし、それに対応する数値を返します。 8 進数文字列とは、先頭が 0 から始まる数字のみで構成される文字列です (例:"0704")。 引数が与えられなければ、$_ の値が適用されます。

Perl 5.33.5 以降は 8 進数文字列は先頭に 0o, o が付いていても構いません。 また、Perl のバージョンに限らず、8 進数文字の手前に 1 つであれば _ を入れても大丈夫です。 単に無視されるだけです。 以下のコードは Perl 5.33.5 以降であれば、いずれも同じ結果を返します。

print oct '0744';      # 484
print oct '0o0744';    # Perl 5.33.5 以降なら 484, そうでなければ 0
print oct 'o0744';     # Perl 5.33.5 以降なら 484, そうでなければ 0
print oct '_0_744';    # 484