oct - convert a string to an octal number
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.) The following will handle decimal, binary, octal, and
hex in the standard Perl or
C notation:
$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():
$perms = (stat("filename"))[2] & 07777;
$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.)