Perl 5 version 10.1 documentation


  • oct EXPR

  • oct

    Interprets EXPR as an octal string and returns the corresponding value. (If EXPR happens to start off with 0x , interprets it as a hex string. If EXPR starts off with 0b, 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 the standard Perl or C notation:

    1. $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():

    1. $perms = (stat("filename"))[2] & 07777;
    2. $oct_perms = sprintf "%lo", $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 will automatically convert strings into numbers as needed, this automatic conversion assumes base 10.)


Recently read