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