perl-5.34.0
oct EXPR
oct

Interprets EXPR as an octal string and returns the corresponding value. An octal string consists of octal digits and, as of Perl 5.33.5, an optional 0o or o prefix. Each octal digit may be preceded by a single underscore, which will be ignored. (If EXPR happens to start off with 0x or x, interprets it as a hex string. If EXPR starts off with 0b or b, it is interpreted as a binary string. Leading whitespace is ignored in all three cases.) The following will handle decimal, binary, octal, and hex in standard Perl notation:

EXPR ��� 8 ��我�井��絖������◑В��������⓾��絲上����������ゃ��菴������障����� 8 ��我�井��絖������壔��8 ��我��絖�������Perl 5.33.5 ��������壔�ŝ����激�с�潟� 0o ��障����� o �・��㊧����������ŝ����障����� ��� 8 ��我��絖���勐����˨�壚����ゃ�勌��膩����臀勉�������������с�������������夌�∴����������障����� (EXPR ��� 0x ��� x ��у����障����������˨�壔��16 ��我�井��絖������◑В��������障����� EXPR ��� 0b ��� b ��у����障����������壔��2 ��我�井��絖������◑В��������障����� ��í�勐�翫����с����������㏍�勛Ã��純�夌�∴����������障�����) 篁ヤ����勌����壔��罔�羣������� Perl ��勤��羈���с� 10 ��我�違��2 ��我�違��8 ��我�違��16 ��我�違����宴����障��:

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

If EXPR is omitted, uses $_. To go the other way (produce a number in octal), use sprintf or printf:

EXPR ��������ャ��������������$_ ���篏帥����障����� (8 ��我�違����宴��)�����勌����勖�号�������������⓾�� sprintf ��� printf �����������障��:

    my $dec_perms = (stat("filename"))[2] & 07777;
    my $oct_perm_str = sprintf "%o", $perms;

The oct function is commonly used when a string such as 644 needs to be converted into a file mode, for example. Although Perl automatically converts strings into numbers as needed, this automatic conversion assumes base 10.

oct ��∽�違�壚�������違�� 644 ��������c�����絖������������<�ゃ�˨�≪�若���� 紊���������������˨����鋎帥����障����� Perl ��壠��荀����綽������☀�ɱ�����������絖���������医�ゃ��紊���������障�������� �����勤�ɱ��紊������壠����我�違��篁勐�������障�����

Leading white space is ignored without warning, as too are any trailing non-digits, such as a decimal point (oct only handles non-negative integers, not negative integers or floating point).

�����㏍�勛Ã��純��������絨障��(絨���亥�鴻�勉��������)�����医����虁⑥�����ŝ����̥�∴����������障�� (oct ��奝��莢���贋�違�勉�帥����宴����障��; 莢���勖�贋�違��絨���違�壩�宴����障�����)���